Add builtin functions (e.g. get, set, add, etc.)

These will be added to the generated code automatically by passing
--builtins to gen.py
Big reformatting change

* Structs are NB_...
* Typedefs are NB_...
* Functions are nb_...
* Static variables are s_nb_...
* Global variables are g_nb_...
* Macros are NB_...

I also did a clang-format pass.
Fix integration tests after e15ec86c
Add the JS side of returning module errors

$errorIf now stores the stack where it was called and maps that to the
command index. If an error occurs, the caller can handle it by adding an
additional parameter to the callback (node-style):

    m.$commit([h], function(error, hVal) {
      ...
    });

The error object contains the failing stack as well as the failing
command index.
Add C generator support for errorif

This change makes error handling more robust; the idea is to attempt to
send a good response regardless of whatever else fails. The only case
where this won't happen is when the response dictionary cannot be
created.
Add JS type sizes
Add C generation of enum return values
Disable annoying warnings in generator

    warning: argument unused during compilation: '-disable-free'
    warning: argument unused during compilation: '-fno-math-builtin'
Make builtin functions work in C generated code
gen.py can generate multiple outputs at once

This means we don't have to parse the header twice, once for C and once
for JS.
Use a hashmap for handles instead of a sorted list

This uses a technique from the lua table implementation called Brent's
variation. Every key has a "main position", which is the index that the
hash function generates. If there is a hash collision, check the entry
at that spot; if it is not in its main position, move it to the next
free entry and use the main position for the newly added entry.
Add glue.h template

This is used to make the C generator "builtin" test a bit cleaner.
Fix JS generation for qualified primitives

types like const char* were not being generated properly.
Add global variable for get_browser interface

This is needed for nacl_io_init_ppapi. I still need to figure out how to
expose this to the generated interface.