Use matcher description when raising an expectation error for an unfulfilled expectation.

Use `format_args` for expected in `raise_expectation_error`, it was the one place where we weren't formatting args for expected so you didn't get nice messages. Note the spec is a bit weird because if you meet the expectation you get the correct error message without the patch (as it raises a different error).

Fixes #676