Update to Jetty 9

Jetty 9 has an entirely rewritten I/O system. Therefore our GSIConnector is no
longer usable.

This patch introduces GlobusContextFactory which can be used with Jetty to
create SSL and GSI connections using certificate stores and certificate
validation from JGlobus. GlobusContextFactory can be configured to wrap the
SSLEngine with GsiEngine, which implements GSI delegation on top of plain SSL.
The JGlobus provided GlobusGSSContextImpl is no longer used with Jetty.

Parts of the SRM had to be altered to remove the dependency on
GlobusGSSContextImpl.

GsiFrameEngine is another SSLEngine decorator, which implements the legacy
GSI framing mode. It auto-detects whether the client uses framing.

Other parts of dCache had to be updated as well to compensate for other API
changes.

Jetty 9 implements TLS compliant shutdown of the connection. This involves
sending a CLOSE notification to the client before closing the socket. Some
clients (in particular the current versions of our own SRM client) misinterpret
this notification as a fatal error. To maintain compatibility with such clients,
the new property srm.enable.legacy-close should be set to true. A patch for
JGlobus to fix the client has been submitted.

Jetty 9 uses asynchronous I/O, which means idle connections will no longer
occupy a thread.

Jetty 9 changes the low-resource timeout handling. Previous versions only
lowered the timeout of new connections. Jetty 9 now lowers the timeout on
existing connections if resources are low - and if that has no effect it
lowers the timeout on new connections too.

Trust store and key store reload is partially handled internally in JGlobus.
It watches files it has loaded for modifications every 60 seconds and
reloads them if changed. It does however not detect if any of those
files were deleted or if new files were added. For this reason we periodically
recreate the entire SSLContext. Since this reloads bost the trust store
and the key store, the lowest of the two configuration properties is used
to specify the context lifetime.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7193/