Add setMock instance method to DeskClient

It appears there is a "feature" in SFDC that makes Tests for Batch Apex
containing Http Callouts fail when using Test.setMock.

It seems that when the batch is run sequentially at the call of
Test.stopTest(), the insert of the batch job into the AsyncApexJob table
causes the callout to fail because of "uncommitted work". After several
hours talking with SFDC, it seems there is no solution since it is
"working as designed".

As a result, this patch allows a user to specify a Mock response for the
Client via an instance method. When set and while running a test, it
will try to get a response from the Mock instead of the HTTP request.
This prevents the request from being executed at all and provides a
workaround for this problem.

Should Salesforce update their system to allow for testing Requests in
Batch Apex, this will no longer be needed and can be reverted.
Merge pull request #1 from ViViDboarder/internal-set-mock

Add setMock instance method to DeskClient

I'm going to remove the throw new ConfigurationException else condition because it's not testable and not necessary.