Dev async cache

Async wrapper is added for for:
AuthenticationParameters and AuthenticationContext at the top level API methods.
It will include cache lookup so that encryption does not block main UI thread for cache lookup.
onActivityResult receives message at UI thread so it needs to start Async task as well. Async task handle is not provided to API methods since it will change the API signature. These changes only updates test for new async wrapper.

Discovery happens in same thread. Webrequest are send in same thread since API is opening a new thread. UI interactions such as sending result to callback happens with UI handler.