AnalysisRPC Stack Traces implementation (foundation for DAWNSCI-736)

This was done by extending the flattening to support more detailed
exception information and adding a new Exception type in Java
(AnalysisRpcRemoteException) that stores and formats additional
information.

AnalysisRpcClient.java: Document that inner exception on remote raising
  exception is now AnalysisRpcRemoteException (instead of Exception)

AnalysisRpcRemoteException.java: New exception type.
  - All exceptions are unflattened to AnalysisRpcRemoteException.
  - Extra info (e.g. text parts of Python exception) is saved in this
    exception
  - getPythonFormattedStackTrace() can be used to display an exception
    in a Pythonic format

RootFlattener.java: Register new StackTraceElementHelper

ExceptionHelper.java: Instead of only saving the "message" in CONTENTS, now
  save the exception type string, exception value string (what message
  used to be), the traceback and the "texts". The traceback is a list of
  StackTraceElements. The texts are the source code snippets that Python
  includes in its stack traces.
  We now unflatten to AnalysisRpcRemoteException (instead of Exception)

AnalysisRpcAdvancedTest.java: Update test

AnalysisRpcExceptionsTest.java: Update test
  - Add new test testRemoteRaisesException

AnalysisRpcRemoteExceptionTest.java: New test

StackTraceElementHelper.java: new support for StackTraceElement

FlatteningTestAbstract.java(testException): to test exception flattening
  ensure the exception is not the route element as the stack trace is
  not as well preserved in Python as it is in Java.

FlatteningTestAbstract.java(assertFlattenEquals): update rules on how
  exceptions are considered "equals":
  1) The message is less strict, we are looking for the whole message
     containing the relevant information
  2) We are now looking for stack traces matching perfectly

pyflatten.py and pyflatten_test.py: Add corresponding support to Python

pyrpc.py: Add a comment that appears in the stack trace. Now that we
  support detailed stack traces, it is convenient to display
  a helpful hint in the line of code that may fail
Merge branch 'master' of ssh://localhost:10001/scisoft/scisoft-core