ALPN Support for netty

Motivation:

Netty currently only leveraged npn-api and npn-boot. It does not leverage the alpn-api and alpn-boot packages for
ALPN support.  ALPN is needed to be compliant with the HTTP/2 spec.

Modifications:

-SslContext and JdkSslContext to support ALPN
-JettyNpn* class restructure for NPN and ALPN common aspects

Result:
-Netty supports ALPN and NPN
use `for (int i = 0; i < list.length);i++ ){ .. }` to reduce object creation