API documentation

* Add API documentation for Client namespace, and items in the Core namespace which are used within the Client namespace
* Add argument validation in some obvious cases
* Fixes a bug where the retry delay was ignored in `RequestRetryLogic.Execute`