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.
I'd recommend not using the line number. In most cases filename + method is good enough; if you use the line number too then it's going to break the grouping every time code is added/removed above each line in question.