Uses patch implementation in Instance class
First roughly tested version of selective patching
Replaces "not node.isDirectory()" with "node.isFile()"
Adds clean rewrite of patch(), first tests passed
Adapts interface of Tree::getPath
Check if a directory is empty before deleting it

Check if a directory is empty before deleting it for all different
kinds of tree derivatives; this uses a method for determining the
number of children for a node in a tree.

Should help to keep trees consistent, especially in the database.
Creates the new menu structure
Adds git like file ignoring test script
First part of implementation of new menus
Adds standard about dialog