Generation working for commands.c, type.{c,h}

* Move code from commands.c.template -> commands.py
* Use new type objects instead of simple type dicts
* Simplify helper.Types; now it returns Type objects that can work
  independently from Types; they're nicer to pass around to other
  functions.
Add commands.h.template, and other fixes
In generator, use $ for pointers instead of _p

I'm starting to wonder if it is a good idea to have the names differ
between JavaScript and NaCl, but it is the way it is currently
implemented. I'll revisit this later.