have_received matcher reports invocation history

Discussion needed.

- Under ARC, the SpyInfo's originalObject to be released *before* dealloc. I'm not sure what's going on here, but placing it in clearSpyInfoForObject: fixes that issue.
- There's some nasty special casing of failure_message_end(id<CedarDouble>) to get this behavior to work.

The output format is as follows:

```
Expected <OBJECT> to have received message <foo:> with arguments <1>, but received:
  <bar:> with arguments <2>
  <baz>
  <blah>
```

Tracker story: https://www.pivotaltracker.com/story/show/38986259