Added convenience class for storing AbstractSong pointers.
Added play list of patterns to the part class.
Added interface to add and delete patterns and songs from the project class.
Greatly improved dependency handling for both automatically generated files and all other files by completely generating targets in the dependency files to make it as simple as possible for make to determine what needs to be recompiled on file changes.
Added test case for inserting before an unknown pattern in the part.
Removed unused code and improved documentation.
Fixed documentation after refactoring.