Anomaly modular

1/ turn `anomaly.py` into a class for better reuse, move related logic from `clamodel.py` here
2/ nice speedup for python (use `numpy.sum()`)
3/ new features/"implementation" to anomaly computation - parametrized, default off, so no change from current 
3.1/ new `cumulative anomaly` (sliding window)
3.2/ @subutai Please have a look if you like this approach, it's prepared for integration with your `likelihood` anomaly code
4/ added tests
Cleaner to just move the line `probability = self._likelihood.anomalyProbability(value, anomalyScore, timestamp)` into the if clause below, `elif self._mode == Anomaly.MODE_LIKELIHOOD` since it is not used before then. Then you save three lines and it's simpler and you don't need the variable `probability`