Bringing fcrepo-auth-oauth under fcrepo4
add javadocs and remove the checkstyle suppression
Updating to use release version of Apache Oltu
[maven-release-plugin] prepare release fcrepo-4.0.0-alpha-1
[maven-release-plugin] prepare for next development iteration
unit testing oauth token endpoint
Update OAuth logic to work in basic flow

An exception was being thrown due to an attempt to retrieve a potentially missing Node property: oauth-principal.
Additionally, the response headers have been updated to provide a more accurate "Location"
Refactor package names to correspond to module names

Resolves https://www.pivotaltracker.com/story/show/54934784
Update policy-driven-storage for runtime configuration

Move configuration from Spring to the repository
Add REST endpoint for runtime configuration
Resolves:
  https://www.pivotaltracker.com/story/show/49059799
  https://www.pivotaltracker.com/story/show/54197412
Initial implementation of PEP

Resolves https://www.pivotaltracker.com/story/show/55891634

- Prevented Session.save() when RepositoryExceptions are thrown (was in finally block)
- Made all REST API sessions, with or without client login, use ServletCredentials to obtain a ModeShape session
** This is so that we can use the same PEP injection for anonymous clients as we do for logged in users.
- Created a bypass servlet authentication provider, for REST testing w/o auth
- Made all REST calls use servlet credentials
- Added fcrepo-auth-commons to fcrepo4
- Renamed SessionFactory.getSession() methods w/o credentials to getInternalSession(), such that use is clear to devs
- Tied the transaction ID to the servlet session, to prevent duplicate login (now that use consistently use servlet credentials at REST endpoints)
Resolves https://www.pivotaltracker.com/story/show/58003404

This compensates for Grizzly's missing http auth via a servlet filter.
The test filter proxies the request, adding methods needed for authN, simulating container auth.
All BASIC login attempts will pass with test filter configured
The fedoraAdmin container role is assigned to any user named "fedoraAdmin"
New filter is configured in web.xml for http-api and auth-commons.
OAuth project has a similar filter that was tweaked to support more auth methods in a basic way.
OAuth project now configured to use the bypass security authentication provider for ITs

Fedora PEP interface for filtering searches was refactored around iterators instead of sets.

JAX-RS security contexts were stripped out of the ModeShape login chain, keeping login
at the container level. This also means that login can be based on Modeshape's standard
ServletCredentials object.

Renamed a constant representing the fedora user role, resulting in some one-line changes in other places
[maven-release-plugin] prepare release fcrepo-4.0.0-alpha-2
[maven-release-plugin] prepare for next development iteration
add consistent logging configuration; use INFO for org.fcrepo, DEBUG for the module at hand, and WARN for everything else.
Add package-info, mostly to top level packages.

Resolves https://www.pivotaltracker.com/story/show/54952244
Intermediate commit
Cleaning Java compiler warnings
Fix up sonar findbugs warnings
Clean up sonar violations
Clean up exceptions to ensure they either log an exception with context, or propagate the cause