This is groundwork for a annex.trashbin feature.
Annex.Content cannot import Remote.List due to cyclic dependencies, so
instead all calls need to pass in an action to get the remote list.
In the case of Remote.*, it's also not possible for them to import
Remote.List. Using Annex.remotes there on the same grounds as some prior
uses; in order for a Remote to call the code that uses Annex.remotes,
the remote list must have already been populated.