sanity check template parameters at compile time

in c++11 we can now sanity check the template parameters of the
different data structures used in the library using static_assert.
this commit introduces basic checks to all applicable data structures in
the library.

p.s. this also fixes the formating of csa_sada