Implement basic monolithin integration tests

This also fixes 2 bugs (see changelog)
All unit tests are now in a sub dir

TODO: integration tests to run on travis