add support for comparing Price objects

This change introduces compare functionality for Prices: support for
equality comparison as well as less than checks is added. To derive the
remaining comparison operators (not equal, less or equal, greater, and
greater or equal), the total_ordering decorator as provided by the
functools module is used. Price objects can now be related to each
other and form a total ordering.
This change forms a first step towards better statistics calculation
based on prices that requires comparing said objects.
add findIntersections() function

This change adds a new statistics related function: findIntersections()
can be used to calculate the intersection points between two data sets
with equal time stamps.
A unit test is added that verifies the results of the calculation. Also,
for better overview each statistics related test is put into its own
module, which means testStatistics.py (which contains functionality to
test the EMA calculation) is renamed to testStatisticsEma.py.
improve EMA calculation functionality

Putting closer attention on the EMA calculation functionality revealed
that it is not quite what we require: although we calculate the EMA for
the values of the list, only the actual last value calculated is the
truly expected value, all other values are just intermediate results
that could be thrown away, strictly speaking.
This change honors this observation by introducing two functions:
calculateEmaValue() can be used to calculate a single EMA value based on
a given number of values. The second function, calculateEma() uses this
function to calculate the correct EMA values for a list of values.
introduce EMA strategy
add testStrategyEma.py -- TEMPORARY
continue work