Revert earlier "disable midx/bloom" commit.

My introducing a skip_bloom switch was based on a misunderstanding of
what the already present do_bloom does, so let's get rid of it.  Also,
we didn't need the skip_midx changes anymore since we now do by default
choose to use the midxes again, therefore, revert the lot!

Signed-off-by: Yung-Chin Oei <yungchin@yungchin.nl>
Merge git.PackIdxListPlus into PackIdxList

I'm not sure how this will work out yet, but I've a hunch that the
speed-ups I found for bup-restore after introducing
PackIdxListPlus should in fact apply all the same to bup-save when the
stuff that is being saved contains many already existing chunks.
Examples would be daily backup runs of virtual-machine images or
database dumps, which should have only some scattered unknown chunks.

So this patch moves PackIdxListPlus' methods into PackIdxList, and makes
PackIdxList.exists() traverse self.recent before hitting the midxes.  I
think this will now need some adaptive mechanism to decide if the
current workload benefits from a longer or shorter self.recent - that
work is coming up next.

Signed-off-by: Yung-Chin Oei <yungchin@yungchin.nl>
Adjust length of git.PackIdxList.recent idx-cache automatically

This is for now very crude, and hasn't been performance tested - at
least it runs cleanly.  PackIdxList now times its own lookups, and tries
(in a very simplistic first-order manner) to adjust the length of its
recently-used idx cache so as to minimise the time per lookup.

I suspect this should give bup more even performance characteristics on
datasets that have changed chunks scattered throughout, with some
regions of files being mostly new, and others being mostly old.  Tuning
and performance numbers in the next few commits.

Signed-off-by: Yung-Chin Oei <yungchin@yungchin.nl>