Add support for 'silent' basic auth

This allows you to combine basic and form based auth, using
basic auth for programatic clients, and form auth for human
users.