Fixed JERSEY-2036.

- Added reproducer unit test for the bug.
- Introduced new UriComponent.decodeQuery method & used it in JerseyUriBuilder.
- Migrated related UriComponent and UriInfo tests from Jersey 1.x.

Additionally:
- Fixed issue with UriInfo query parameter caches not being reset if request URI is changed in pre-matching filter.
- Fixed unnecessary exposure of internal RequestEventImpl class.
- Removed all "DONE" tests from etc/jersey-1-migrated-tests as it did not contain any useful information.
- Narrowed visibility scope of some monitoring methods and classes.
- Added missing javadoc to public/package-private methods in request context.

Change-Id: Idc20814fc4943c5c3aeebb6bebd3ba7032302e9a
Signed-off-by: Marek Potociar <marek.potociar@oracle.com>