Replace individual RmShredGroup->lock's with a single RmMainTag.group_lock
Tidied up sift/push/unref a bit
Fixed hole in RmShredGroup termination sequence logic.
Added mutex protection to file->disk_offsets; fixed post-processing of hardlinks
(file->disk_offsets is accessed by both rm_shred_get_read_size and g_queue_push_sorted)
Fixed mutex sequencing plus some general tidy-ups
Added a hack for testing multi-device threading robustness even if you don't have multiple devices
Fixed sign so mem manager actually works
Fixed up the rm_shred_group_unref logic
Documented rm_digest_paranoia_bytes selection
Reorganised order of procedures a bit
Cleaned up some TODO's
Merge pull request #78 from SeeSpotRun/paranoid_mem_manager

Paranoid mem manager