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.

I think the information is slightly different: given if `a` depends on `b`, then `Dependency.crate_id` will hold `b`, but `ReverseDependency.crate_id` will hold `a`.