Add API endpoint to retrieve the reverse dependencies.

This /api/v1/crates/foo/reverse_dependencies gives the full dependency
information about each crate that depends on foo (i.e. crates with
`[dependencies] foo = "..."`).
Add the /crate/foo/reverse_dependencies route.

This connects the web-app to the back-end API and allows it to display a
list of all the reverse dependencies of a crate as a
/reverse_dependencies subroute.

This uses the same format as the /versions route.
Add test for rev-dep API endpoint.

This includes making some changes to the test harness, e.g. allowing
dependencies to be added from multiple versions of the dependent crate.
Merge branch 'rev-dep' of https://github.com/huonw/crates.io into huonw-rev-dep
Remove the reverse-dependency model for dependency

Looks like it required a bit of tweaking both server and client side. Also fixes
a link on the reverse dependencies page.
Paginate reverse dependencies