Add support for `context` and `res` param types
Move `convertText` to `typeConverter`

Create a new module `lib/type-converter.js`.

Move `routeHelper.convertText` to this new module.
Refactor conversion of data types

Refactor the way how loopback types are converted to swagger data types.

 - `modelHelper.LDLPropToSwaggerDataType` is responsible for
   producing a valid Swagger Data Type object from LDL object
   (be it a property, accepts item or returns item).

 - LDLPropToSwaggerDataType picks only fields that are part
   of the swagger spec, everything else is excluded from the result.
   It's up to the caller to add extra fields like `description`.

 - refactor `routeHelper.extendWithType` to accept an additional arg:
   the original LDL object. This way it's possible to copy all
   type-specific fields to the output object and don't add anything
   else.
models: include model's `description`
Merge pull request #64 from strongloop/feature/property-constraints

Preserve property type constraints
example: use PersistedModel instead of Model

Use `PersistedModel` as a base for the Product model to ensure
it has some methods to inspect in the explorer.
Merge pull request #65 from strongloop/fix/example

example: use PersistedModel instead of Model
swagger: use X-Forwarded-Host for basePath
swagger: Deprecate `opts.swaggerVersion`

Users of loopback-explorer should not override the swagger version,
as it's the explorer who decides what version of the Swagger Spec
it implements.
loopbackStyles: improve spacing in small window

Improve spacing of page elements when the browser window is small.
swagger: include models from accepts/returns args

Models not attached to the app are included too.
model-helper: support anonymous object types

Accepts/returns arguments allow anonymous object types, e.g.

    { 'arg': 'kvp', type: { 'name': 'string', 'value': 'string' } }

As of this commit, these types are converted to Swagger type 'object'.
route-helper: add `responseMessages`

Add a default "success" response message, the status code is 200 or 204
depending on whether the method returns any data.

Append any error messages as specified in the `errors` property
of method's remoting metadata.

Move the description of operation's return type to the "success"
response message.

Include error message models in the API models.