Support for list<MyStruct> list<Enum> in functions

NOT READY TO GO -- read on ...

Functions that return a Struct that itself contains a list of another
struct or list of enums could not be compiled. This code fixes it,
though the tests are too high level and a bit ugly, in that the first
fix to get past the thrown exception wasn't sufficient, and I was only
able to verify the complete fix in a separate test rig I have. I'm
pushing this as-is now to get some feedback on testing, the fix itself
and applying it to Map, presuming there's a similar issue there.

UPDATE: I dinked some more with the tests tonight. Seems to fit
into place, though I did change up the profile.thrift to flush out one
of these cases. Probably need some more around list<Enum>.