ClientContext with throttling support

This is proposal for a new ClientContext class, based upon the Core.Throttling sample that implements build-in support for throttling. Right now the maxRetries by default has been set to 1, and the initial delay has been set to 500 milliseconds.

I opted to initialize the ClientContext with the parameters to set the retry count and delay instead of doing it in the ExecuteQuery method as in the Core.Throttling sample to provide a more 'generic' approach to handling throttling instead.

Please comment :-)
Might be nitpicking, but after the whole apple ssl bug (https://www.imperialviolet.org/2014/02/22/applebug.html) I always react to {}less if statements..