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
Fine then. Fine.