Unit test stuff

Added some components used to set up unit testing. BoostTestTargets is from here: https://github.com/rpavlik/cmake-modules
It made setting it up a little easier, but we'll see if we keep using it or not. The test case for the random function was just to see if it worked, used it because it didn't have any other dependencies elsewhere in the code.
Why did you comment this line ? Could you please delete it if not relevant or add some comment if it can be of some use ?