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
thanks! you've uncovered a bug in weighted anomaly mode! How about this...
Removed one `if`, but I'd like to prefer to keep the variable `probability` as the code is clearer to understand imho..