Added licence, basic option construction bits and tests for construction

Added construction.cpp, fixed licence headers and made the tests
pass
Link the right libraries, parse options
Fix indentation
Fix indent
The generated command line should really have all arguments'
Some small refactoring and fix failing tests
Refactor some of the repeated constants into a constants.cpp file
Added new instrumentation tool names, refactored out some useful methods
into test_util.h
Added some definitions for instrumentation tools
Merge branch '03-04-2013'

Conflicts:
	src/CMakeLists.txt
	src/construction.cpp
	src/construction.h
	tests/unit/CMakeLists.txt
	tests/unit/construction.cpp
Switch to std::array and implement some dummy definitions

Added constants.cpp and tests.

[  FAILED  ] 10 tests, listed below:
[  FAILED  ] ConstructionParameters.ParseOptionsToParametersReturnsNonNullPointer
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByStringMatchesEnumValue/1, where GetParam() = Instrumentation Tool Name with
 tool (as int): 1
 name (as char const *): timer
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByStringMatchesEnumValue/2, where GetParam() = Instrumentation Tool Name with
 tool (as int): 2
 name (as char const *): memcheck
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByStringMatchesEnumValue/3, where GetParam() = Instrumentation Tool Name with
 tool (as int): 3
 name (as char const *): callgrind
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByStringMatchesEnumValue/4, where GetParam() = Instrumentation Tool Name with
 tool (as int): 4
 name (as char const *): cachegrind
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByEnumMatchesStringValue/0, where GetParam() = Instrumentation Tool Name with
 tool (as int): 0
 name (as char const *): none
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByEnumMatchesStringValue/1, where GetParam() = Instrumentation Tool Name with
 tool (as int): 1
 name (as char const *): timer
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByEnumMatchesStringValue/2, where GetParam() = Instrumentation Tool Name with
 tool (as int): 2
 name (as char const *): memcheck
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByEnumMatchesStringValue/3, where GetParam() = Instrumentation Tool Name with
 tool (as int): 3
 name (as char const *): callgrind
[  FAILED  ] AvailableTools/ConstantsLookup.LookupByEnumMatchesStringValue/4, where GetParam() = Instrumentation Tool Name with
 tool (as int): 4
 name (as char const *): cachegrind
Implement the map lookups and make the tests pass
Added new instrumentation tool definitions, and make
ParseOptionsForToolReturnsSpecifiedTool pass
Added tests for the construction of the various tools too

Fixes #1