Add a received property-get check using a lambda to avoid temporary variables

Added overloads to the Received extension method, to take a lambda which queries the property.
This way you can replace
```var ignored = substitute.Received(1).Name;```
with
```substitute.Received(1, s => s.Name);```
which keeps tools like ReSharper quieter.

Tests & documentation change included.