Setting up the build system and unit testing infrastructure