Add ApiModelAttribute for Swagger

Created ApiModelAttribute for overriding "Optional" fields in
SwaggerApiService ParseModel.  This is useful when you have fields like
DateTime? or Enum? as nullable that are still required.

(Declaring them as nullable stops them from getting default values when
serilaising, using validation to enforce NotNull())

Added Description Property to attribute so IsRequired override and
Description can be set together in a single attribute.
Swagger ParseModel order by DataMember.Order

OrderedDictionary is from ServiceStack.Redis.Support