Network: allow downloading from a url

This is our implementation of in-memory remotes. Ask the repository to
fetch/list from a url instead of a remote.
CommitFilter: add simplify-by-first-parent option

Now that this is doable directly inside the revision walker, let's
expose it as a possible filter option.

This fixes #258.