Added licence, basic option construction bits and tests for construction
Added construction.cpp, fixed licence headers and made the tests
pass