BugDir._in_memory was a stupid idea. Took it back out.
It was too confusing having three memory access levels:
1) syncronized
2) explicit
3) memory-only
with .sync_with_disk selecting between 1 and 2/3 and ._in_memory
selecting between 2/3.
Now there are only two:
1) syncronized
2) memory-only excepting explicit BugDir.save() calls.
I avoid the problem of non-syncronized loading of on-disk bugs in
simple_bug_dir by restricting .list_uuids() to in-memory bugs when
.sync_with_disk==True.
Beyond that, I shifted the order of the BugDir methods around a bit so
that they were better grouped according to general idea.
Note that the DiskAccessRequired exceptions on filesystem access when
.sync_with_disk==False should be propogated to the Bug and Comment
methods, but I haven't done that yet.