Endpoints are smarter, build themselves from settings.

* Endpoints are now instances, not classes, and instantiate on route.
* Moved endpoint building logic into the Endpoint itself.
* Moved #aggregate_setting into the Endpoint
* This gets us much closer to mountable APIs
Merge branch 'master' into lazy_compile
Waypoint commit. Y U FAILING, API MOUNTING?
Fixes API mounting.
Merging in master.
Allow nil HTTP_ACCEPT header in header strategy.
Middlewares that take blocks are now supported by API.use
Duplicate the middleware settings before manipulating them on endpoint compilation.
Adds api.endpoint when called to help introspection and testability.
Adds Frontier comment to README
Restored routes introspection.
Added support for API descriptors.
Bug: format is missig from parameters and .txt format broken.
Merge pull request #96 from dblock/frontier-broken-format

frontier: bug: .format is broken, can't serve .txt or respond with params[:format]
Fixed desc to take only hashes.
JSON formatter does not convert strings anymore.
Merged from master.
Merge branch 'frontier-routes-2' into frontier-desc-api
Should represent Entity array as root element
Merge pull request #93 from dblock/frontier-routes-2

frontier: restored api routes functionality