Refactor test/c/test_gen.js

This will read tests from test/data now, and automatically add
them.

The required format is:
* test/data/test_<something>.cc -- contains the TEST()
* test/data/<something>.h       -- header used by gen.py
* test/data/<something>.c       -- source code header
Move test/{data => js/data}

Separate C test data from JS test data. Also move shared JavaScript to
test/shared.
Add a C Generator test for primitive types

* Fix glue.c when returning values from a function
* Cleanup request and response PP_Vars
Allow sethandle value to be string
Allow String var handles to be read as void*

This is useful for using in memcpy, strcpy, etc.
Add "multi" Generated C test

This tests multiple commands, and is a relatively complex test of the
generated code. It also tests passing and returning PP_Var values.
Refactor C Generator tests

Now all the tests share the same test fixture.
Add mod.numberToType test

This also fixes passing numbers that are in the range [2**31, 2**32).
Add objectToType tests, support null + bools
Add Long class (from Closure compiler)
Add Long support to mod

* Also export Long directly from long module
* Add longToType (similar to numberToType)
* objectToType supports Long
Allow longlong handles. Fix bug when sending null

I added some tests for the serialized format of various "sethandles"
values. Because I was testing for falsiness, it was coercing 0, false,
null, and undefined to null. This was then being ignored by
$registerHandleWithValue_.

I've also made longlong serialize to an array of two values: low
32-bits, high 32-bits.
Longlong conversion of value returned by module

We can't just forward the values from the module through to the callback
anymore. We really want a Long() object, but that can't be sent via
postMessage.
Don't include get/set/destroy/commands by default

This reduces the message size and makes the tests easier to read.