various fixes and patches.

Add config directive auth_digest_hold which specifies how long an expired item can stay in memory, so that a new challenge with "stale=true" can be sent back (in times of expire time, defaults to 12)
change default for auth_digest_timeout from 10 to 15
Add config directive auth_digest_internal to specify if internal requests(internal redirects and so) should be checked(defaults to off)
Add config directive auth_digest_subrequest to specify if subrequests should be checked(defaults to off)
Add config directive auth_digest_mismatch_uri to control behavior when the uri client sent doesn't match with what the server thinks(defaults to rejecting the request and log it with WARN level)
cleanup incorrect usage of ngx_str_t.len
micro-optimization in ngx_http_auth_digest_verify_hash, reducing one memory copy.
cherry-picking some pull request from original repo.(namely 11)
fix(perhaps) issue 22 from original repo
commit unstaged changes in previous commit