Gameplay class additions

I created this branch because the branch I was working on earlier was too large, so I split it up into the Game type branch and this one. It has the same additions to switching innings that I was working on earlier.