ALPN should allow handshake failure if no compatible protocols found

Motivation:
If there are no common protocols in the ALPN protocol exchange we still compete the handshake successfully.  This handshake should fail according to http://tools.ietf.org/html/rfc7301#section-3.2 with a status of no_application_protocol.  The specification also allows for the server to "play dumb" and not advertise that it supports ALPN in this case (see MAY clauses in http://tools.ietf.org/html/rfc7301#section-3.1)

Modifications:
-Upstream project used for ALPN (alpn-boot) does not support this.  So a PR https://github.com/jetty-project/jetty-alpn/pull/3 was submitted.
-The netty code using alpn-boot should support the new interface (return null on existing method).
-Version number of alpn-boot must be updated in pom.xml files

Result:
-Netty fails the SSL handshake if ALPN is used and there are no common protocols.
Mutual Authentication for JDK Providers

Motivation:
Netty's SslContext classes currently do not support mutual authentication. It would be nice to have these interfaces support mutual authentication and then initially provide an implementation for the JDK server/client providers.

Modifications:
-Add extra constructor methods in the SslContext classes to support taking trust store and key store related items in both the client and server code
-Add a test case which uses mutual authentication to verify functionality

Result:
Netty's SslContext interfaces support mutual authentication and the JDK client/server provides implement this interface.