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)
I know about Java conventions, but wouldn't it read better as hasReached... ?