Mover class no longer takes file and output as arguments.

Instead they are passed to the move method which then takes care of
passing it along to other methods that require it.
Add .gitignore.
Error checking for the Matcher class.

Matcher now checks for bad operators and bad tags.
Also removed the conditions_not method, now the NOT operator just
reverses the output of conditions_and.
Update TODO
Mover() does not need arguments on init.

Mover() does not need any arguments on init, infact its __init__ does
nothing for now.

tags are now passed to the move() method which passes it to the tags()
method that handles the creation of the instance self.tags variable.

keyword substitution is now case insensitive, that means if the users
give a path like /home/%artist% - %TRACK% it will be substituted to the
right tag no matter what the case of the keyword is.