Converted the scripts from their previous scary format into individual readable files (probably need to be moved to another directory eventually)
Initial Motion Manager commit (far from done)
Removed some invalid ID's from scripts
Merge branch 'develop' into feature/ScriptSystem
Converted all of the scripts IDs to be a name rather then an ID (to make them more portable and less likely to have mistakes)
Added a converter to convert Servo ID's to enums
Made ID's type safe (you should not be adding them together or anything of the sort)
Added in start of Script system
Merge branch 'feature/MotionManager' into feature/ScriptSystem

Conflicts:
	CMakeLists.txt
	main.cpp
Fixes to make it compile (also removed motion manager as it's structure will be chaining)
Merge branch 'develop' of github.com:nubots/NUClearPort into feature/ScriptSystem
Added in the code to convert configuration nodes into scripts
Added in code to build up servo waypoints to be executed by the motion manager.
(also fixed up stray tabs)
Made adaptions for the new NUClear changes (full unique_ptr everywhere) and coded a rough implementation of the script and motion systems
Changes still need to be made to the config system to allow directory viewing
Additions still are needed in order to add the events to the queue
Added in code to make the system work as expected
Fixed unit tests
Compiler warning fixes
Updated the Configuration system to support the script engine (still requires dynamic recursive updates)
Added in adjustments to the motion system as well as a temporary test to check it works
Fixed DarwinMotionManager.cpp file name