create a new ShardState class for tracking Shard State
use ShardState objects for reads and writes
replace Util.formatStateColumnName
move ShardState-specific code out of Util into ShardState
rename ShardState to SlotState
move string-representation of slotstate to the serializer
improve slot state tests. better separation between SlotState and its serialization
Merge pull request #202 from fourk/cleanup_reader

Cleanup Reader part 3