Support for Async Methods

Adds support for testing of async methods in .Net 4.5. Async can be used in When, Given and Then statements. The existing synchronous versions are wrapped in a Func<Task> and use of await causes them to be executed synchronously, thus, there is no behavior change for existing Specs.

@rockhymas