WWW-Authentification header on 401 unauthorized

Just added support to add the **WWW-Authenticate** header when the client is not authenticated.
The header includes a *realm* and a *profile* string, both are configurable.

This feature is fully unit tested, so it can hopefully merged soon.

The header is important to tell the client, with which protocol is supported to authenticate.