Add the ability to marshall nested properties

This allows for flattening out a nested object's value when marshalling
it. It allows for keys like foo.bar.baz where the field will fetch the
value for baz out of the bar object that is nested inside foo.