Added additional Encodable / Decodable instances

- 4-tuples are now encodable.
- 4 and 5-tuples are now decodable.
- Colors, Frames, Processors, and Items are now decodable.
Reordered some indices in the Encodable Action instance.

They were out of order.
Made Int decodings fail if there are leading zeros.

If Ints with leading zeros are valid then many weird things look like
valid ints, and it becomes much harder to guess what a register holds
when debugging.
Regenerated pdf.
Bumped version now that we have new Decodables.
Split step function into two phases & added games.

- The step function now takes place in discrete Environment and
  Computation phases.
- There is now an optional a Creation phase for games that want to
  ignore each robot's preloaded output register.
- There is now a display library, Botworld grids are rendered using
  ASCII box drawing characters.
- The visualization has been overhauled: the standard output grid has
  four 'flags' to tell you what happened in each square:
  - item lifted / dropped
  - robot created
  - robot destroyed
  - robot inspected
  - robot made invalid action
  You may also inspect a square for full details.
- 'ct' language added to make writing Constree slightly easier.
- Simple ct2hs binary added to convert ct files into Haskell modules.
- Added a number of games, including:
    - The Prisoner's Dilemma
    - The Stag Hunt
    - The Precommitment game
    - The Self-Destruct game
Added run functions to StagHunt and PrisonersDilemma
DestroyShields and InspectShields are now separate.
Precommit game now involves box trading.
Regenerated pdf.
Rename rex to rob
Added index.html which redirects to the Botworld pdf.
Botworld 1.1 pdf