Changing Received.InOrder numbering to number all instances where
  required.

* Only showing instance numbers where the types are ambiguous. i.e.
  when methods from the same type are called via different instances.
* Numbering all instances in order, rather than numbering-per-type.
  This is because subs may implement multiple interfaces which would
  throw off the numbering.
* Moving formatting logic into SequenceFormatter
* Lots of horrible hacking.