Add unit tests using boost test

Added UnitTests for a few classes, as well as fixing some minor bugs and cleaning up a little bit in the process.
constexpr literals is a bit of an overkill. This is still a matter of style debate.