Improvement to `opam update`

New update protocol.

This is much quicker than before (especially when you have a lot of pinned packages) and more precise. As a side-effect, the backend API is much simple as well (this will for instance help #578).

Also, I've removed opam upload as nobody uses it - and it can be replaced by external scripts.