updates javadoc comment for unauthenticate() and improves the test case
adds test cases for authentication without credentials, via custom authentication provider
adds test case for authenticate() to ensure passwords are whitespace and case sensitive