Added path validation method

Added a path validation method and unit tests. Refactored other
preconditions unit tests.
Added access level enum
Changed checkArgumentNotBlank() to return arg
Added AccessRule class and unit tests
Added access rules and tree nodes to repository

Updated the Repository class to store the access rule path tree.
Implemented methods for adding access rules to the repository path tree.
Added unit tests to test Repository methods and set methods to protected
where needed.

Added tree nodes class used to represent a path tree within a repository
or server.