Support for component constructor selection.

- …as defined by JAX-RS spec.
- Resolves JERSEY-1515, JERSEY-1529, JERSEY-1712.
  - E2E tests for the bugs added. 
- Added HK2 ClassAnalyzer implementation (JerseyClassAnalyzer) that supports proper constructor selection when instantiating components.

OTHER CHANGES:

- Added HK2 ErrorService impl. (JerseyErrorService) to make sure HK2 reification issues are not "hidden". All issues are reported now via Jersey Errors facility.

- Optimization of effective type computation in MethodSelectingRouter. Previous list-based impl was producing duplicate media type entries for different MBRs/MBWs that lead to a huge increase in effective type combinations that had to be later processed (e.g. a simple ConstructorSelectionTest.ProviderResource.echo() method was producing 20 combinations compared to optimal 4 that have to be processed with the new impl).

Change-Id: Ie7283a2c64683202a16d16dc26aed07bbf8e7000
Signed-off-by: Marek Potociar <marek.potociar@oracle.com>
fix for JERSEY-1681:
        Made JAXBContext cache in Abstract JAXB provider
        use weak references instead of strong references
        in order to allow unused JAXBContext deallocation
        as apps are being undeployed on GlassFish.

Change-Id: Ia142a9b741ac42d3cfa7e3a6fb22072fc8373f11
JERSEY-1679: Support new Java EE 7 JSON-P API as a separate module (parto of RI).

 - CommonProperties class (FEATURE_DISABLE_AUTO_DISCOVERY, FEATURE_DISABLE_JSON_PROCESSING)
 - json-processing module - containing Feature and an implementation of AutoDiscoverable interface
 - json-processing-webapp example

Change-Id: I029cef7d96bf0fb87827a77a61662a7a55b23cb2