As reported in bug 35788, rL316280 reintroduces a race between two
members of SectionPiece, which share the same 64 bit memory location.
Reduce the Hash member by 1 bit, and move the Live member next to it,
instead, while making OuputOff use the full 64 bit again.
Adjust getShardId to cope with Hashes being 31 bits wide (I hope I
interpreted that function correctly... :)