Merge pull request #25 from MauricioCarneiro/develop

Many small updates and bug fixes
Fix -o0 compiler flag. Should be -O0.
Add test target.
Add benchmarking.
Remove .hpp implementations

Although I fully appreciate the effort of reducing compilation time,
this split is not reasonable, as the hpp is not a compilable standalone
unit and coding in it is a nightmare (without syntax checking). We need
a better standard. For now, let's keep it all in the .h

fixes #31
Move update method inside diagonals

Also remove the now unused zero() method.

Fixes #27
intermediate commit -- updating constants to live inside its class