Improve fingerprints when error messages differ only in object memory addresses

I noticed a regression in the automatic-merging of my errors after upgrading to 0.2-stable, which was caused unintendedly by 28a7ff23aa71ff1b9874dede1d236cdc1efb2145

This pull requests introduces a error message unification which converts messages like

```
NoMethodError: undefined method `foo' for #<ActiveSupport::HashWithIndifferentAccess:0x007f6bfe3287e8>
NoMethodError: undefined method `foo' for #<ActiveSupport::HashWithIndifferentAccess:0x007f6bfd9f5338>
```

to the same error string, which results in the same fingerprint.

Fingerprints of errors, which messages do not include memory addresses, are not changed, so these can be merged to their older counterparts after pulling.

See the added specs for more examples.

Cheers :beer: 
Christoph