Add interface for ResourceManager

Adding an interface for the resource manager makes things a little nicer for extensions that want to override/replace the resource location process.
I agree with this, because as far as I can see registerLocator is only used when setting up the instance in the container.