Complete rewrite

This sadly takes away the package object but makes WartRemover into a
much more flexible tool. We can now run WartRemover as the following:

* Command-line tool
* Compiler plugin
* Macros

It's also now possible to define custom rules which can run using any
of the above.

We also now have tests. Yay!