Merge lowerMiddle and A1'
Separate A1' and LowerMiddle
Add a simple termination condition to RedRec

This condition holds when the number of executions exceeds the height of
the resulting proof.
Implement Helsinki rule (see issue #74)
Fix Helsinki rule
Split A1' into C1' and S1'
Add OverTermination condition

The condition holds when the length of the last chain of "only A2"
executions gets greater or equal to the height of the resulting proof.

There is still a bug in the condition, probably in the computation of
the height. Please don't merge this branch into the main repository
until it's fixed.
Merge branch 'master' into lowerMiddle
Add sample proofs
Add size condition to the Helsinki rule
Fix the length bug

OverTermination is now correct.
Add algorithms to test C1'+A2 vs S1'+A2
Remove debug instructions
Factor out the fallback rule (A2)
Prepare for stackable traits in RedRec
Add random based RedRec
Merge branch 'master' into RedRec
Merge branch 'master' into RedRec
Split ReduceAndReconstruct in multiple files
Removed exclamation marks from build file to support sbt 0.13.0