Make every HttpRequest implementation extend BaseHttpRequest

This avoids duplicating code for shared methods like getFormParameters
and getDecodedFormParameters.
RESTEASY-1097: make HttpRequest always use a single UriInfo instance

setRequestUri no longer creates a new instance, but mutates it in-place.
Because getUri and setRequestUri are the API backing
ContainerRequestContext's getUriInfo and setRequestUri, this makes it so
that those methods no longer violate the JAX-RS spec.

This should also fix RESTEASY-1098 and RESTEASY-1099 as a side-effect.
Simplify (and hopefully fix) UriInfo initialization in servlets
Merge pull request #561 from tbroyer/issue-1097-uriinfo

RESTEASY-1097: make HttpRequest always use a single UriInfo instance