statistics generator, and query optimizer with tests

one issue remains: the Arbitrary[query] generates some queries whose
triplepatterns have zero cardinality.

I tried to skip when such queries are generated, but was not
successful.
separated two tests
fixing corner case bugs (like stats = 0) in optimizer test

in progress:
- verify that the counts calculated match and corner cases are handled
Removed unnecessary imports.
made sure optimizer passes tests for manually checked queries

TODO:
- not sure if the modified code covers all cases previously covered.
Simplified optimizer.
Improved optimiser.
Factored out existing optimisers to use new interface.
Query vertex uses new optimiser interface.
TripleRush passes the new optimiser to the query vertex.
Integrated new optimiser into eval.
test case for optimizer
Merge branch 'optimizer-integration'

Conflicts:

src/main/scala/com/signalcollect/triplerush/evaluation/DbpsbBenchmark.sc
ala

src/main/scala/com/signalcollect/triplerush/evaluation/NewLubmEvaluation
.scala