Guard against session ID conflicts

The chances of this happening should be quite small, but add an explicit check anyway
Guard against bad session id generators
UNDERTOW-200 Fix issue with charset encoder in ServletPrintWriter
Javadoc
Add convenience methods
UNDERTOW-202 Calling HttpServletRequest.getParts() breaks getParameter()
Still attach the certificate even if apache has not forwarded the SSL session ID
WFLY-937 ServletContext.getResource() doesn't work correctly for files containing hash characters
Always add the cached authentcation mechanism so that programic loging works