Extend kernel API to include more interfaces

Extracted interfaces from kernel object and transaction classes.
Extracted interfaces from kernel services, including extracting RepositoryService into its own service and making an AbstractService.
Moved getBaseVersion and getVersionHistory from RepositoryService to FedoraResource
Moved FedoraJcrTypes from fcrepo-jcr to fcrepo-kernel-api.  Disabled javadoc plugin for fcrepo-jcr since it throws an error if there are no classes in the module
Moved kernel exception classes into kernel-api
Moved many utilities and existing interfaces with no mode/infinispan dependencies which the API depends on from kernel to kernel-api, including iterators, PIDMinter, predicate functions, etc.
Renamed ObjectServiceIT to RepositoryServiceIT since it was only testing methods which now belong to RepositoryService
Including modeshape-jcr-api and joda-time in fcrepo-kernel-api
Updated some tests to match the api changes and methods which moved