implementation of libuuid
Added crypto quality random number generators for Node.js and browser environment if available
changed != to !== in a couple of places. Added fix to prevent closure minifying crypto randomBytes etc. this fix makes use of closure externs so I've added a closure-externs.js to hold the definitions and modified tools/shared.py closure_compiler method to point to closure-externs.js. I've added externs to fix minification of the ws library used in library_sockfs.js too
option to benchmark multiple llvm versions, both native and js
refactor lua benchmark
preprocess recursively into #include's; fixes #1984
benchmark updates
Added ENVIRONMENT_IS_WEB test prior to checking window.crypto etc. so we are sure that window is defined
Updated ChangeLog for 1.7.9 - 1.8.2.
Fix old link in ChangeLog.
clean up test runner output
make benchmark suite more robust to settings changes
Merge branch 'add-libuuid' of github.com:fadams/emscripten into incoming

Conflicts:
	tools/shared.py
properly overflow gep arguments; fixes #1975
make aggressiveVariableElimination usable through a setting
handle variables that assign a value including themselves in aggressiveVariableElimination
Merge branch 'incoming' into llvm-3.4

Conflicts:
	tests/test_benchmark.py
	tools/shared.py