Task<T> should never return null

In the world of async/await, returning a default value is never done via returning 'null', it is done by returning a Task<T> whose Result is null. 

Having a default value for Task<T> be 'null' makes mocking async methods unnecessarily complicated, because the result is guaranteed to be bad (i.e. you *must* mock every async method called, because awaiting 'null' will only lead to tears)