reorganize tetriminoshape
add collision tests
fix move collision & fix concurrent modification bug
update punch clock