Improvements to NUClear such that it fills in c++11s make_unique hole, and uses it for emitting. This will make it harder to break the API and less likely to have memory leaks
Also improved several places to use std::forward where it should be used