LOPO-2: Create an empty 'Localisation' NUClear module
Added new DisplayTest module and PlainMessage struct
Merge branch 'develop' of github.com:nubots/NUClearPort into feature/LocalisationPort

Conflicts:
	hats/CMakeLists.txt
Merge branch 'develop' of github.com:nubots/NUClearPort into feature/LocalisationPort
Merge branch 'develop' of github.com:nubots/NUClearPort into feature/NUbugger
Started work on the script optimizer
Building of the Script from the protocol buffer
Turned on 3D acceleration
Merge branch 'develop' into feature/NUbugger
Work on the optimizer (will need to come back after rearranging develop)
Started to restructure the directories of the modules to a sensible format
Fixed remaining issues (+16 squashed commits)
Squashed commits:
[52246c4] fixed roles, made reactors catagorized as support rather then utility
[e3b246d] Fixed SignalCatcher
[84a9db5] Fixed NUbugger
[12f7fd6] Fixed the console logger (and fixed it to correctly be sync)
[4ec0f47] Fixed the configuration systems
[ca427d8] fixed platform
[a3379ff] Fixed eSpeak
[c025a37] Fixed ScriptEngine
[919c9c4] Fixed LinuxCamera
[3d81237] Fixed AudioInput
[6bc7cd4] Fixed audiofileinput
[651993a] Fixed up ScriptTuner
[72f4247] Fixed up script runner
[f2d3ed9] Fixed mechwarrior
[d43bf13] Fixed up some headers and comments on dancedarwin and aubio
[2f79dd3] Moved Beat’n beat detector and fixed its namespacing
Restructured the messages and fixed resulting compile errors
TODO in future, make modules use the messages they require
Merge branch 'feature/Restructure' into develop
Merge branch 'develop' of github.com:nubots/NUClearPort into feature/LocalisationPort
LOPO-2: Add a localisation role and a stub LocalisationEngine class
Enhanced the protocol buffer compiler to be able to handle files not in the root directory
Fixed missing change from hats to roles
Seperated ServoIDs from the darwin classes
Fixed the motion manager and added a placeholder SensorFilter role (needs to have kalman filters added to filter data)