ALPN / NPN need to handle 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.

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.
+1

> Am 30.10.2014 um 05:51 schrieb Trustin Lee <notifications@github.com>:
> 
> In handler/src/main/java/io/netty/handler/ssl/JdkApplicationProtocolNegotiator.java:
> 
> > +     */
> > +    public interface ProtocolSelector {
> > +        /**
> > +         * Callback invoked to let the application know that the peer does not support this
> > +         * {@link ApplicationProtocolNegotiator}.
> > +         */
> > +        void unsupported();
> > +
> > +        /**
> > +         * Callback invoked to select the application level protocol from the {@code protocols} provided.
> > +         *
> > +         * @param protocols the protocols sent by the protocol advertiser
> > +         * @return the protocol selected by this {@link ProtocolSelector}. A {@code null} value will indicate the no
> > +         * protocols were selected but the handshake should not fail. The decision to fail the handshake is left to the
> > +         * other end negotiating the SSL handshake.
> > +         * @throws Throwable If the {@code protocols} provide warrant failing the SSL handshake with a fatal alert.
> Actually, all our callbacks hava throws Exception so that a user doesn't need to deal with checked exceptions when he or she knows what he or she is doing. So, why don't we just add throws Exception in all callback methods in this PR?
> 
> —
> Reply to this email directly or view it on GitHub.