Consider last instance in filter and aggregator

This fixes an issue when running the VHT classifier with prequential evaluation, where
by ignoring the last instance property in filter/aggregator, the topology exited before
evaluating all instances.
Merge pull request #112 from matthieumorel/evaluate-until-last-instance

Consider last instance in filter and aggregator
Increasing performance on sparse features using prototyping of zero-valued features

Intermediate work on zero prototypes

Signed-off-by: Olivier Van Laere <vanlaere@yahoo-inc.com>

Fixing prototype issues

Signed-off-by: Olivier Van Laere <vanlaere@yahoo-inc.com>

Adding null check to cope with prequential evaluation

Signed-off-by: Olivier Van Laere <vanlaere@yahoo-inc.com>

Adding null check for estimator request on previously unseen attribute in a given class

Signed-off-by: Olivier Van Laere <vanlaere@yahoo-inc.com>
Adding comment for smoothing factor + cleaning up imports

Signed-off-by: Olivier Van Laere <vanlaere@yahoo-inc.com>
Merge pull request #113 from ovlaere/zero-prototype

Improving performance of Naive Bayes using a prototype for zero valued features
Fix end of stream management

When reaching the end of the stream, we mark the last event accordingly and
set the finished status on the processor. Otherwise the last event is never marked as such,
and tests that wait for this particular event don't properly terminate.

Updated test expectations to match new behaviour (no event is sent after stream is consumed).
Add automated tests for various algorithms

- add samoa-test module which contains templates and test utilities
- test results are currently obtained by monitoring the local output file
from the evaluator
- add tests
	- for local, threads and storm platforms,
	- exercising VHT, bagging and naive bayes algorithms
- for keeping the test duration low, we only inject 200k events, and therefore the
thresholds in the tests are low. We might need to refine the thresholds and number of
events for some of the tests.
- the samza platform is not currently automatically tested
Use surefire plugin for running tests

This is also convenient to pass vm parameters to tests, e.g. max heap size.
Upgrade jmockit to 1.13 and use strict expectations

Current code was written as for strict expectations but did not check the ordering
of operations.
Renamings and docs addressing review comments
Added build badge
Allow microsecond precision for input delay, and use this for threads tests

On travis CI this should allow tests to pass by putting less load on the system
Lower expected threshold for classified instances

Test should pass on travis CI, plus the lower threshold is also fine for detecting
regressions
Merge pull request #114 from matthieumorel/algos-tests

Automated tests for various algorithms and platforms