Reduce call chain of qsort

This will considerably improve the performance of qsort-heavily-used projects
like Android-Pinyin-IME, more discussion:
  https://groups.google.com/forum/#!topic/emscripten-discuss/Ah2CNfQ8ra4
  https://github.com/kripken/emscripten/pull/1437
added addOnPreRun and addOnPostRun
do not emit -m32 when using le32 target
only emit -nostdinc++ when calling clang to build a file ending in a cpp-style suffix
Use switch statement for isspace implementation. Results in huge speed increase on Chrome Android at least, avoiding a hot path in common tasks like XML parsing, etc.
Merge pull request #1455 from j4m3z0r/fast_isspace

Use switch statement for isspace implementation. Results in huge speed i...
Merge pull request #1452 from inolen/onprerun

added addOnPreRun and addOnPostRun
do not use -nostdinc++ with le32 target at all, it does not need it, and add testing for no system c++ headers showing up in our path
Merge branch 'qsort_reduce_callchain' of github.com:PinZhang/emscripten into incoming
optimize bsearch
refactor asm module parsing code into separate file
add tools to split and merge asm modules from the surrounding code
split up FS.init
move file packager logging into debug-only
add default extra arguments to beginning of commandline arguments, so that users can override them (not recommended though)
properly deprecate all arguments to --minify except for 0
also use LLVM_ROOT to detect when we need to clear the cache
Merge pull request #1453 from yukoba/flock-mprotect-msync

Empty implmentations of flock, mprotect and msync
Merge pull request #1457 from inolen/fs_init_split

split up FS.init
infer relative paths in file packager only when not told explicit src and dest paths, and fix test_preload_file