Avoid NullReferenceException with async methods

When using async methods and loose Mock Behavior, calls to `Task` methods give `NullReferenceException`, since `default(Task)` is `null`. Calls to `Task.Wait()` and `Task<T>.Result` should follow the loose behavior: do nothing and return the default value for `T`, respectively.

Related to #64.