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.
we can just check directly once we use object.create(null) which is much faster