Store Managed Adapters & Serializers

Pull request to make a store instance responsible for it's own adapter and serializer instances - as suggested fix to #2588 by @tomdale.

Serializers and Adapters are no longer singletons.

Failing test included.
It seems bad that we will have to create an adapter for every type even if you only have an application adapter defined. Not sure how to avoid that though.