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)
Don't we have only 1 assignment to "times" (since we remove 1 and add 1)? This would still make sense in jmockit. But I also think that the current tests are designed for "strict" expectations (checking order and number of executions) but implemented with regular expectations (which don't check order). This requires a newer version of jmockit. Will update.