Fail SSL Handshake if no supported Application Protocols

Motivation:
The ALPN API does not support the no_application_protocol alert as defined in http://tools.ietf.org/html/rfc7301#section-3.2.  This API also does not support the MAY clause defined in http://tools.ietf.org/html/rfc7301#section-3.1.

Modifications:
-Allow ALPN.ServerProvider.select to return null and throw SSLException.
-Allow ALPN.ClientProvider.selected to throw an SSLException
-Clarify usage example in comments
-Update ALPN map from synchronizedMap to ConcurrentHashMap

Result:
-API supports failure modes described in ALPN RFC http://tools.ietf.org/html/rfc7301.

Bug: 446063
Signed-off-by: Scott Mitchell <scott.k.mitch1@gmail.com>