Added try_left and try_right methods to pieces.

Moving left/right is sort of a 'best effort' action. Generally you
don't need to know if it succeeds, you just need the state to be
correct afterwards.
Added some code for moving a piece downward