Cleanup + Logger

This is a general cleanup, including code, comments and the addition of
the logger.

The main is much cleaner now, due to the addition of  the GetMorpher
class.

This is probably where I should have started with the initial commit :)

TODO: Next step is make the hierarchy a bit stronger, this will be done
on top of the NoteMorpherRule
(to deal with start and end)
Name changes, and files moved

I added a few more comments, did a bunch of moving of files, and renamed
as to make it as generic as I can.
ReplaceAll, and other cleanup

ReplaceAll seemed liked it needed some work, so I cleaned it up a bit.

TrimTheMode now is a bit better about the string it uses to replace,
might want to look into this later.