BUG-634: Rework getKey() implementation

As it turns out, getsockopt(TCP_MD5SIG) is not implemented, which means
we cannot read back the key associated with the channel. This patch
makes sure we cache in the KeyAccess layer and removes the unused native
method.

Change-Id: I941c60afa7380ffddd5745f0e71286e6fcabcdcc
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-634: rework packaging

First we split out tcpmd5-api component, which contains the basic
interfaces and classes.

Second we rename tcpmd5-core to tcpmd5-nio to better reflect the fact
this is the binding to java.nio package. We also introduce
DefaultKeyAccessFactoryFactory, which provides a facade to selecting the
best-functioning KeyAccessFactory.

Third we introduce NativeSupportUnavailableException to indicate when
the native support library fails to load/initialize.

Finally we fix invalid javaChannel() reference in tcpmd5-netty, which
should have been called on the superclass.

Change-Id: I1243189ab728abecc473b3aa5a38e9e167b80aad
Signed-off-by: Robert Varga <rovarga@cisco.com>
BUG-634: add tcpmd5-api tests

Introduce basic tests for API utility classes.

Change-Id: Ic87581edb2d0a9ed767176c23df681b5f14dcaa2
Signed-off-by: Robert Varga <rovarga@cisco.com>