swagger-core integration

This PR leverages swagger core functionality for model definitions, annotation extraction, and json serialization. It eliminates most of the duplication in spray-swagger used in the original approach so spray-swagger can simply act as the bridge between spray services. It also solves a number of issues including [#21], [#14], [#12] and I believe [#11].

In summary, 
- Leverages utilities from swagger-core
- Remove duplicate swagger models across swagger-core and spray-swagger
- No longer require model types when specifying spray-swagger service
- Make the SwaggerHttpService terminology match the spec.
- Removes custom module building
- Removes custom reflection.