Use a more general preprocessor

- Use Ruby as a preprocessor (tools/rpp).
- Remove tools/Mod.hs since it's no longer needed.
- Add Generic.in and Primitive.in as the input files to the
  preprocessor.
- Update Makefile.
- Add Cabal Sandbox to .gitignore.
- Update documentation slightly.