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.
Just to chime in, as a Rollbar dev but not a Go user:

I believe the original problem you were having what that the *exception class* was variable (seemed to be a hash of some sort, and the actual exception class was in the error message). Rollbar does already discard the exception message. Another approach to fix would be to parse out the real exception class from the message, and use it here.

That said, I think what you have in this commit will work well.