push dependency fetch optimization into Fetcher
add tag support and -x for excluding tags

The next step is to exclude recursive dependencys' test tag. Interestingly, to
write a test for this, I have to write this commit first, so I can use the
feature in the gocart repo, which is used for its own tests. Whoa.

[finishes #64960700]