Automated tests for various algorithms and platforms

This patch adds a module that contains test-related classes. Tests can be defined and configured through templates. We use the test module to implement tests for several classification algorithms for local, threads and storm platforms (for now).

Also includes a fix for handling last event in stream.

Introduces the surefire plugin for tests, so we can get proper test output files and configure test VMs. (we might still have to customize travis for maven's VM parameters)
Actually, it's the existing code that is wrongly indented...

I filed https://github.com/yahoo/samoa/issues/118 to fix the indentation globally in the codebase