Add a fingerprint based on callstack and shorten source file paths

Currently if an error message has a variable part, multiple occurrences of it will show up as many unique errors in rollbar ui.

This change improves on that by calculating and sending a fingerprint (as described in https://rollbar.com/docs/guides_grouping/) based on a callstack, which is unique within a particular build of the app.

It also shortens source file paths sent to rollbar to make them shorter and remove the part of the source file path that depends on the machine on which the code was compiled. It also helps in building the above fingerprint.
Ah, just realized what's going on here. errorClass() is calculating the hash on the whole error message: https://github.com/triggit/rollbar/blob/master/rollbar.go#L157-L160 which causes the whole message to be used in the fingerprint Rollbar calculates, instead of just the class. 

If you changed `errorClass()` to parse out the class name from errors that look like "MyErrorClass: Some message with arbitrary data", and use `MyErrorClass` instead of the hash of the whole thing, then the default algorithm would work well I think.