Reimplemented the matcher class to adapt to the previous commit.

The new Matcher class now takes input formatted by the new Parser class
and simply evaluates it and returns True or False depending on the
statements in it.
Misc changes and bugfixes. (see diff).
Create Mover class.

Delete the old move function and turn it into a class that handles
moving and renaming files much better now.