GH-162: No 500 w/ better handle missing dict keys

This tweaks a couple of things so that missing dict keys aren't fatal. With this I get:

```
$ http toto:paf@localhost:8080/digest-auth/auth/toto/paf
HTTP/1.1 401 UNAUTHORIZED
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Length: 0
Content-Type: text/html; charset=utf-8
Date: Sat, 29 Nov 2014 13:26:49 GMT
Server: waitress
Set-Cookie: fake=fake_value
Www-Authenticate: Digest nonce="b449e508d85914dc180e6c0f8aba926f", opaque="efbc8206a0eab675c7ad20f4f80cbbfe", realm="me@kennethreitz.com", qop=auth
```