Also adds support for printing structs via reflection. The case when structs have pointers to themselves is not handled yet. closes #1380