Preparation Refactoring before v3 work.

This does not introduce any API change.
It refactors the internal of ResourceHandler. The the logic of this handler
is now much simpler. All it does is to instantiate the adapter, the middlewares
and the router. It does this in the right order, and according to the settings.

Essentially, the adapter, the middlewares and the router become the low level API
of go-json-api (private API for now) and ResourceHandler is the a convenient
shortcut to intantiate all this. V3 could come with the new API on top of this low
level API.