Initial implementation of ShardTransaction and all the messages it handles