Allow additional customizations of authentication and request processing

Several changes here:

1. Allows explicit injection of an AuthenticationManager into a Resource Server

2. Allows aligning of user roles with scopes via flag in DefaultOAuth2RequestFactory

3. Allows user to inject OAuth2Request{Factory,Validator}

4. Re-org of top-level provider package to put concrete implementations of
some interfaces in sub-packages.

Fixes gh-161
Ensure tonr samples work from command line

Tomcat plugin configuration needs to be extracted so that
it applies to all runs (not just integration tests)

Fixes gh-164
Tidy up build, removing unnecessary plugins

See gh-163
Ignore .springBeans
Java 1.6 for JWT
Fix XML validation
Remove unused @Suppress annotations
Add Jackson2 support for BaseClientDetails
Updgrade to Spring 4.0.3
Created OAuth2ExpressionParser that automatically wraps a Spring Expression

... with a method that provides meaningful errors.

This allows Spring Security OAuth to check for errors and throw Excepions when an error occurs
while ensuring that the exception is only thrown when necessary. For example, if an expression
has an or statment we do not want to throw the Exception if only part of the expression is false.

Fixes gh-41, Fixes gh-118
Disable anonymous auth for resource server
Ensure AccessDeniedException is thrown from expression handler

... otherwise the AccessDeniedHandler doesn't get a chance to send
the proper response and user just sees 500 status

Fixes gh-118
Support for Jackson2 in JdbcClientDetailsService
Fix potential duplicate token problem in JdbcTokenStore

It shouldn't happen in practice, but the JdbcTokenStore, since it
didn't check for the existence of a token with the same value
before doing an insert, might break confusingly later. I think
I would recommend a uniqueness constraint in the database anyway
but now we have a "last one wins" rule.
Add support for authorization code services in @Configuration
Add support for ApprovalStore in @EnableAuthorizationServer

If user defines a @Bean of type ApprovalStore the AuthorizationEndpoint and
WhitelabelApprovalEndpoint change their behaviour accordingly.
Remove bundlor plugin
Refine ApprovalStore configuration a bit

Rather than always create a @Bean of type TokenStore we now look for
beans *named* "tokenStore" and "approvalStore" and back out if one
of those already exists. That makes more sense for stateless token
services (like JwtTokenServices).
Update spring-security-jwt's dependencies
Update oauth modules' dependencies

The most notable update is the move to HttpComponents 4.3.3 in the
oauth module, bringing it into line with Spring 4's dependency. A
duplicate servlet API dependency has also been removed.