Complete rewrite of the part that generates the URLs to be purged.

Hello all contributors!

First of all, I'm grateful to the original author of this project and all its contributors for developing this plugin.

Yesterday I tested wp-varnish quite extensively. I'll be honest. The current implementation is very incomplete.

More specifically, the part that generates the URLs to be purged either lacks several URLs (tag/author/date based archives, static posts page, multipage content support, comments feeds, comment pages that do not use
the popup code etc etc) or generates URLs that purge a very large part of the web cache, like the ``/category/(.*)`` or ``/page/(.*)``.

So, I decided to sit down and **completely rewrite the code** that generates the URLs to be purged and make this part of the plugin as complete as possible.

I've tried really hard to make this patch as complete as possible. It is not perfect, but it is by far more complete than the current implementation.

Please review this patch (together with a second [patch](https://github.com/pkhamre/wp-varnish/pull/65) I've submitted). Both can be merged cleanly to the master branch.

I know I could create a fork and distribute yet another WP plugin, but I think it is better to contribute the code to this 4-year old project and make it a little more useful than it currently is.

Thanks all for your time.
George