[feature] add alignContext and expose

This branch contains:
1) Code for exposing the memory used in dp algorithms, so that calling programs may re-use the memory. Speed-ups are measurable, but only on very frequent calls of dp-algorithms (at around 1billion calls, this saves 10-15% of run-time due to fewer memory allocations.
This code is written mostly by Rene Rahn, minor changes and adaptation of tests by myself. 
2) Renaming of internal variables from "struct _Foobar" to "struct Foobar_ "to conform to ISO c++.
3) Minor changes to dp scouts behavior (some checks moved from being at-run-time to now being at-compile-time).

All align module tests pass.