git_handler.filter_min_date: support tag times for annotated tags

Previously we'd crash on annotated tags because they don't have a 'tag_time'
property.
setup: bump version for release
Added tag 0.7.0 for changeset fc63d0e2653d
manifest: add matches() to overlay

0cc283f44655 in upstream Mercurial added a matches function to the manifest.
This broke 'hg incoming -p' with hg-git. This patch adds a simple implementation
that fixes the problem.

This was caught by the tests, and now the tests pass.
git_handler: iterate over contexts, not nodes

This prepares for an upcoming patch.

In theory, we could pass the context into export_hg_commit, but there's some
encoding shenanigans going on there that I don't want to delve into.
git_handler.export_git_objects: filter out octopus explosions earlier

hg-git translates octopus merges into a series of merges, called an octopus
explosion. The intermediate octopus explosion commits are not recorded in
the mapfile -- only the final commit is. This means that they show up in the
export list and have to then be detected and filtered out.

Don't initialize the incremental exporter with octopus explosion commits.
Previously, if there were octopus merges early in the history, we'd initialize
the incremental exporter with the first one's parent, then calculate the diff
of that against the first commit we actually cared about exporting. That's slow
and wasteful.

For a particular real-world repo with one octopus merge 1/3 of the way in
history, this is a 10x improvement for 'hg gexport' with one commit to export
-- 60 seconds to 6.
git_handler.export_git_objects: avoid unnecessary list creation

These are used just once, so generators are fine for them.