fuse-cmd.py: move VFS top inside BupFs

In preparation for some initial controls on heap growth.
fuse-cmd.py: make cache_get a BupFs method

Further preparation for initial controls on heap growth.
fuse-cmd.py: Rename BupFs member top to _top
fuse-cmd.py: flush the cache occasionally
fuse-cmd.py: update prefix when reconstructing cache parents

Previously, the cache reconstruction algorithm would fail whenever it
had to restore multiple parents when caching a given path.  Clearing
the cache revealed the problem.
fuse-cmd.py: use tuples for pre in _cache_get()

Avoid a bit of unnecessary work.
Merge work to occasionally clear the FUSE cache
Remove CommitDir, and avoid loading all commits at startup.

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
fuse-cmd.py: ignore metadata for top *two* levels

Now that .commit is gone, stop ignoring the filesystem root dir
metadata (which was also at level 3).
Notice new saves from FUSE and the VFS
Change fuse purge threshold from 100k to 10k