Unasync Chef

Removed async Chef APIs.

* Removed all async api classes.
* Refactored strategies to avoid using the async apis.
* Added a method to teh strategies to allow users pass their own ExecutorService.
* Removed references to awaitCompletion and use Guava Future helpers.
* Added a method in ChefContext to access the underlying api (ChefApi,
  HostedChefApi or PrivateChefApi).