added support for Varnish 4

Varnish 4 doesn't exist yet, but this build against the trunk until
the trunk breaks the build... The build system has been simplified even
though I added complexity for cross compiling against both Varnish 3 and
4.

Right now the tests break, and at first glance, the VMOD is not guilty.
refactored the tests for varnish 4

The X-Varnish header changed a bit in Varnish 4 so the tests can't use
the header consistently with both Varnish 3 and 4.
moved to a somehow cleaner handling of api changes

Instead of implementing the functions directly, the vmod now relies on
a simpler implementation. The vmod glue is handled separately. In the
process the useless init function disappeared...

And yes it was done because of another API change in the trunk. I'm not
blaming anyone here, Varnish 4 is still under development ;)
proper handling of incoming varnish 3.0.4
refactored (reg)filter and clean functions

OOPs, I did it again. In order to tackle code duplication, the
implementation is sort-of object-oriented. Not only did duplicate code
go away, but it also became abstract enough to become the `clean'
function backbone.

Another side effect of this refactoring is that all three function are
now enhanced with better garbage cleaning, hence the new tests.
the module learned to log calls and return values

This improves traceability and eases debugging. Parameters are logged
too, so it becomes easier to follow the code path of a request in the
VCL and discover unexpected return values (for instance with a wrong
regex for `regfilter').

A little example:
$ varnishlog -I 'VCL_.*'
1234 VCL_call     c recv
1234 VCL_return   c lookup
1234 VCL_call     c hash
1234 VCL_call     c vmod_regfilter("/article?lang=fr&utm_medium=varnishtest", "utm_.*")
1234 VCL_return   c "/article?lang=fr"
1234 VCL_return   c hash
1234 VCL_call     c hit
1234 VCL_return   c deliver
1234 VCL_call     c deliver
1234 VCL_return   c deliver

Or with Varnish 4:
$ varnishlog -I 'VCL_.*'
1234 VCL_call     c RECV
1234 VCL_return   c hash
1234 VCL_call     c HASH
1234 VCL_call     c vmod_regfilter("/article?lang=fr&utm_medium=varnishtest", "utm_.*")
1234 VCL_return   c "/article?lang=fr"
1234 VCL_return   c lookup
1234 VCL_call     c LOOKUP
1234 VCL_return   c deliver
1234 VCL_call     c DELIVER
1234 VCL_return   c deliver

It may not be a good idea for production, so the next step is to make
logging optional.
added conditional logging

Logging each call and return values might add a significant load in the
logging file, or maybe not. Since this *might* be sensible, it is now
possible to disable the module's logs.
added documentation and a backing test case

This is all about regfilter being used for keeping query params instead
of pruning them, just a small regex trick.
bumped version to 0.2, with rpm packaging

This release introduces rpm packaging. A `dist.sh' script allows to
create a source tarball similar to what the rpm spec expects.