Fix exception message in GuardClauseAssertion,

such that when it encounters IEnumerable return types, it will treat the known non-deferred enumerable types (such as Array, IList, ICollection, etc) as non-deferred, and therefore will not give a misleading exception message about them being deferred.
Support non-generic non-deferred collection types,

as return values which GuardClauseAssertion does *not* treat as deferred.
Incremented patch version,

in order to indicate that better error messages, distinguishing between
deferred and non-deferred Iterators, fixes a bug. This resolves #277
(https://github.com/AutoFixture/AutoFixture/issues/277).
Improved exception for GuardClauseAssertion,

when verification fails for a method that returns Task (or is marked async).
Added GuardClauseAssertion tests for Task[<T>],

ensuring that correctly implemented guard clauses are verified correctly.
Hyperlink to #268 for task/async GuardClauseAssertion
Incremented patch version,

in order to indicate that providing a better error message when verifying
Guard Clauses for async (deferred) methods is an improvement, but not a
new feature per se. This resolves #268
(https://github.com/AutoFixture/AutoFixture/issues/268).