Added guard to cache handler so it doesn't loop forever

Changed method for calculation to the proposed solution on [Stackoverflow] (http://stackoverflow.com/questions/15405460/why-my-python-and-objective-c-code-get-different-hmac-sha1-result)

Added guard so we don't run a recursive loop when the sha1 calculated doesn't match the sha1 calculated from the grunt expose task.

Could solve #49