Reject directory circuits early if they are too skewed.
If we get a connection to a directory that tells us that it's a month in the future, any consensus that it believes in will almost certainly be too new for us to actually use.
(Similarly, if the directory says it's a month in the past, any consensus it believes in will almost certainly be too old for us to use. But we already avoid getting such consensus documents by setting a reasonable If-Modified-Since time.)
We could actually tolerate even more skew than we do with this branch, but IMO it's not a great idea to do so.
This branch is based on top of !500 (merged); only the final 3 commits are new. It's probably best to review !500 (merged) first.
Closes #466 (closed)