Added marshal_with_field decorator, see issue #212

I've added a new decorator for marshalling with a single field. Use cases are methods that return either a list or a single item.

I went with `marshal_with_field` as the name for the decorator; another name might be more suitable.

I've also edited the internals of the `List` field so that the formatting actually happens in the `format()` function rather than only in `output()`.