Massive rewrite done for a better api structure

Skeleton was born out of the need to define an API programatically with no external dependencies. The spec is modeled after the Swagger 2.0 spec and has a serializer specifically for swagger.

We are not bound to swagger by any means. If we choose to have a different serializer for another type of documentation format, we can do it with relatively ease.

/cc @supernullset
I'll need to add in some more documentation on how to render an `OPTIONS` json structure without having to return the entire swagger structure. I'm sure I can also cover the `application/json+swagger`.