Add support for reverse dependencies.

This adds an API endpoint `.../:crate/reverse_dependencies` and a web-page `/crate/:crate/reverse_dependencies` for displaying. It's modelled after the `.../versions` page, and is not currently linked from anywhere.

![cratesio-revdep](https://cloud.githubusercontent.com/assets/1203825/5156628/e3087528-7327-11e4-8fad-9efc87de75a6.png)

Fixes https://github.com/rust-lang/crates.io/issues/68.

More caching in the sense that if we've already fetched the information for dependency 5 there's no need to re-fetch the information just because it's a reverse dependency (it'll be the same information).