Begins to refactor the unholy mess that is `write_object_data.cpp`
Re-merge pull request #802 from sorlok/with_timelines_final

Some serious shit was happening in CompilerSource/compiler/components/write_object_data.cpp during the last pull request, and this had to be manually patched.
Merge upstream changes
Merge branch 'master' into CompilerRefactor
Removes Robert's "worker queue" in favor of inheritance tree
Merge upstream changes
Merge branch 'master' into CompilerRefactor
Fix regression due to writing pointer instead of index
Merge pull request #825 from enigma-dev/CompilerRefactor

Compiler refactor, step one