Changes to DTO classes to support correct serialization.

Spent some time on this today. A few changes to the DTO classes are required to ensure that they serialize correctly.

One change worth noting is the casing of some enum properties. I took the approach of changing the casing of the enum values to correspond to the casing of the Swagger spec. However, I realize this is at odds with standard .NET casing and not everyone is happy violating those rules. An alternative approach would be to implement a custom converter. I decided to go with changing the DTOs directly since that's what they're for. Thoughts?

I'm working on some other code to assist in specifying the metadata, and rendering it, but I'd like to tidy it up a bit more before I share it.