RUBY-530 Kerberos support on JRuby

Special thanks to Jeff Yemin (@jyemin) for his help and review.

RUBY-530 Support for GSSAPI in URI parser

RUBY-530 More tests - unit, replica set, threading

RUBY-530 Use the socket to get hostname

RUBY-530 Refer to config file as JAAS_LOGIN_CONFIG_FILE

RUBY-530 Update extra options name in auth module

RUBY-530 Don't require a config file in gssapi test

RUBY-530 Keep realm and host as different env variables in gssapi test

RUBY-530 Adding javadocs to GSSAPIAuthenticator

RUBY-530 Use a byte challenge instead of a string to avoid encoding

Get rid of extra whitespaces

RUBY-530 Initialize extra opts to empty hash if there are none

RUBY-530 Adding in tests for failure with wrong servicename

Fixing indentation

Fixing typo

RUBY-530 Adding in tests for extra opts

RUBY-530 Split kdc and host in tests, they are usually not the same

RUBY-530 Test for canonicalizehostname option

RUBY-530 Auth hashes now also have an extra key

RUBY-530 Rename extra opts variables and provide better error msg

RUBY-530 update uri test for new extra opts format