Special thanks to the following people for their useful contributions :

- Aleksandar Lazic and Klaus Wagner : ability to learn application cookies.
- Cameron Simpson : code reviews and many cleanups.
- Dan Zinngrabe : Makefile for MacOS 10.4 / Darwin.
- Sin Yu : preliminary virtual host support and rbtree for the scheduler.
- Marcus Rueckert : support for username/groupname.
- Bryan Germann : option to exempt some sources from x-forwarded-for.
- Fabrice Dulaunoy : health-checks on different addresses

Note to contributors: it's very handy when patches comes with a properly
formated subject. Try to put one of the following words between brackets
to indicate the importance of the patch followed by a short description:

[MINOR]    minor fix, very low risk of impact
[MEDIUM]   medium risk, may cause unexpected regressions of low importance or
           which may quickly be discovered (just like this patch)
[MAJOR]    major risk of hidden regression. This happens when I rearrange large
           parts of code, when I play with timeouts, with variable
           initializations, etc...
[BUG]      fix for a minor or medium-level bug.
[CRITICAL] medium-term reliability or security is at risk, an upgrade is
           absolutely required.
[RELEASE]  release a new version
[BUILD]    fix build issues. If you could build, no upgrade required.
[CLEANUP]  code cleanup, silence of warnings, etc... theorically no impact
[TESTS]    added regression testing configuration files or scripts
[DOC]      documentation updates, no need to upgrade
[LICENSE]  licensing updates (may impact distro packagers)

Example: "[DOC] document options forwardfor to logasap"
