Started work on #1554
Added a script to extract struct sizes and field offsets as well as constant (#define) values.
Integrate the new tool into emscripten
Automatically compile struct_info.json and save the compiled version in the emscripten cache.
Updated library_sdl.js
Remove "-U__GNUC__" flag to avoid incorrect measurements.
Add timeb.h to struct_info.json
Replace references to QUANTUM_SIZE with C_STRUCTS equivalents.
Fix some comments and bump EMSCRIPTEN_VERSION
Merge branch 'incoming' of github.com:ngld/emscripten into incoming

Conflicts:
	AUTHORS
	src/library_sdl.js
	tools/shared.py
fix sanity.test_emcc_caching (we now have a cache dir earlier on)
update test_outline
fix other.test_static_link
run test_fs_nodefs_rw only in node
update unistd tests to run only on node
Break up mkstemp impl to provide mktemp impl.

The libcxx test suite wants mktemp(), so provide it by pulling
out some of the internals of mkstemp().
test runner comment
disable some recently-changed tests in modes where they need inline js or emcc
fix C_STRUCT usage in sdl
optimize asm function table emitting
optimize indexize/blockaddrsize in emscripten.py
make function table emitting nicer