added MarshalIndentToString and the test for it...makes printed complex structs easier for humans to read