Renames should be handled efficiently (fixes #3)

Attempt one.

Alternative version would be to check just for the files we are removing, which would get rid of the `WithHave`.

Ideally I'd like this global block cache thing come true, and have even better stuff happen automagically in `handleFile`.

Not sure if the `if len(file.Blocks) > 0` checks are necessary (probably not?), but just playing it safe.