Large-scale code cleanup. Also adds a license to the top of all files that were missing it.
Fixes issue where blocks would become unlinked after copy/paste or save/load.
Implemented the ability to copy/paste blocks/clips in the timeline. This did require some large scale changes and reworking of the copy/paste system introduced a few commits ago, but should be largely functional now.