Update to Swagger 1.2. Fixes #11, #8, #7.

Changes in this PR:

* Moved `public` (swagger UI) out of this module and required `swagger-ui` as a module in `package.json`.
* Added `swaggerDistRoot` option so users of the API Explorer can override any part of the UI (styles, JS, HTML).
* Compatibility with Swagger 1.2 ([spec](https://github.com/wordnik/swagger-spec/blob/master/versions/1.2.md)) ([transition guide](https://github.com/wordnik/swagger-spec/wiki/1.2-transition))
* Model schemas are now correctly populated.
* An `accessToken` can be provided via the header input.

When this is merged, it should be safe to remove `strong-remoting/ext/swagger`, the associated test, and `app.docs()`.

Fixes #7, #8, #11.
I don't like the idea of modifying `route` and `classDef` here:
 - Are these objects a throwable copy? Are the callers expecting that the arguments will be changed?
 - When reading `addRouteToDoc`, I was expecting that "route" has the original strong-remoting's fields. Now I have to keep two kinds of routes in my mind - the original strong-remoting route and then the "hacked" route.

What I would like to see instead: split `doRouteParameterHacks` into two functions, one for creating a new description of accept arguments, the other one for creating a new description of return arguments. Call these methods where appropriate in `routeToApi`. Hacking of accept arguments can be possibly moved to `acceptToParameter `.