More authentication improvements:

More unit tests
Throw exception if trying to use old password authentication or an unsupported plugin (i.e. anything other than mysql_native_password)