Make Swagger respect DataContract/DataMember/IgnoreDataMember if present

Make Swagger respect DataContract/DataMember/IgnoreDataMember if
present. Don't emit properties to Swagger documentation that wouldn't be
present in serialized JSON. Also update Swagger to use DataMember Name and IsRequired when present.

Notes:

- Reuse ServiceStack.Text ReflectionExtensions to avoid duplicating all
of the intricacies with cross platform issues.
- Added reference to ServiceStack.Text (doesn't change dependencies b/c
ServiceStack.Common relies on ServiceStack.Text already)
- Had to call .ToHttps extension method directly via static class b/c of
overlaps between string extensions in Common and Text