python: base class for frames

A BaseFrame class was added that is now superclass of all the frame
classes. It should contain methods common to all frame types (that can
take advantage of the type-agnostic C api).

Signed-off-by: Martin Milata <mmilata@redhat.com>
python: base classes for threads and stacktraces

Similar to previous commit, base classes were added that are
superclasses of thread and stacktrace classes. The situation is a bit
more complicated here:

BaseThread: methods for all thread types
SingleThreadStacktrace: subclass of BaseThread, base class for
    stacktraces that have only one thread and can be treated as one
MultiThreadStacktrace: base class for stacktrace types that can contain
    multiple threads

Signed-off-by: Martin Milata <mmilata@redhat.com>
tests: refactor input file loading into common function

Signed-off-by: Martin Milata <mmilata@redhat.com>
python: distance computation between pair of threads

The distance computation function is now exposed as a
BaseThread.distance(otherthread, [dist_type]) method.

Related to #63.

Signed-off-by: Martin Milata <mmilata@redhat.com>
python: type-agnostic distances for list of threads

The satyr.Distances constructor can now take list of any type of threads
as an argument. Closes #63.

Signed-off-by: Martin Milata <mmilata@redhat.com>