SliceGuarantor: Block expansion bug fix, debug statements.
LocalSliceStore: don't pass shared_ptr's by reference, make dumpStore output easier to read
SliceStore: dumpStore function
unordered_set wouldn't behave like a set, so roll our own set-like class for Segments.

Side note: the symptoms are that Segments that are equal by == operator and hash_value but not
memory location were being treated by unordered_set as different objects, despite specifically
designing operators to prevent this behavior.