Move to String parameter types in CrtAuth{Client|Server}

This is a larger change, simplifying the consumer facing interface of CrtAuthClient and CrtAuthServer by changing their public method interface to take String parameters and return Strings instead of our internal datatypes.

The idea here is that consumers of the public interface should not need to know a lot about the internal workings of this library. It should be enough to understand the basic request challenge, turn challenge into response, provide response and get a token, use token to get access.

This change also improves the documentation of the public interface substantially.