Background: we've had multiple people ask to programmatically add sequencers and connector by supplying already-instantiated objects, like I've done with providers. (This is especially useful when ModeShape cannot instantiate the instances and properly set all fields. It also provides us a workaround to where we provide an alternative to storing passwords in our repository configuration.) So I expect to have several additional methods before 4.0.0.Final. Unfortunately, because connectors and providers require the SPI (unlike the sequencers that just require the public API), we can't expose these managers in the API. This is fairly straightforward, and I didn't want to make changes to those systems in this commit or under this issue.

Do we need the interface? I do concede that any code wanting to register such objects could easily just use the JcrRepository interface. But that exposes a fair amount of messiness. My thought is that the `RepositoryServices` would expose just the few methods they need, and they could simply cast the `javax.jcr.Repository` instance to `RepositoryService`.

Now, having said that, I'm not convinced we need a separate interface. I think it's a tad cleaner with it from one perspective, but from another it's also nice to just expose the methods on `JcrRepository` (which they might already be using if they're using `ModeShapeEngine`).