JCR-2113: add access control mgt support for jcr remoting

This patch provides acm support for the jcr remoting client. in this patch, the implementation of the following has been realized:

1. implementatiion of javax.jcr.security.AccessControlManager api for jcr2spi jackrabbit client that allows for the creation, retrieval and removal of access control policies.
2. jackrabbit.api.security.JackrabbitAccessControlList as the default acl policy implementation for the client.
3. jackrabbit.api.security.JackrabbitAccessControlEntry: the entries that goes in the acl.
4. extensible access control manager implementation.  creation of an access control manager is done via an AccessControlProvider, which is dynamically loaded and instantiated from a configured properties file. See  SessionImpl#getAccessControlManager() for details.

/cc @anchela @tripodsan @dbu @alexparvulescu @mduerig
same here... i would not try to make any assumptions about the type of the principal.. in particular since the information is not transported to the backend anyway... i would just make a static method

private Principal createPrincipal(final String name) {
     return new Principal() { String getName() { return name}};
}