Bug 785645 - Support constructors in self-hosted JavaScript. r=luke

--HG--
extra : rebase_source : 9d56165f8875d0ebb8d89e88d92492c21fc6b74c
Backout of bug 773423.  Breaks linux clobber builds. r=dontbreakthebuild
Bug 785666 - Remove old-style CC Suspect and Forget functions. r=smaug,bsmedberg
Bug 784894 - put NPOTB tools/utilities in js/src/devtools (r=sfink)

--HG--
rename : js/src/ETWProvider.man => js/src/devtools/ETWProvider.man
rename : js/src/metrics/gc/README.txt => js/src/devtools/gc/README.txt
rename : js/src/metrics/gc/gc-test.py => js/src/devtools/gc/gc-test.py
rename : js/src/metrics/gc/tests/clock.js => js/src/devtools/gc/tests/clock.js
rename : js/src/metrics/gc/tests/dslots.js => js/src/devtools/gc/tests/dslots.js
rename : js/src/metrics/gc/tests/loops.js => js/src/devtools/gc/tests/loops.js
rename : js/src/metrics/gc/tests/objGraph.js => js/src/devtools/gc/tests/objGraph.js
rename : js/src/gnuplot/gcTimer.gnu => js/src/devtools/gnuplot/gcTimer.gnu
rename : js/src/javascript-trace.d => js/src/devtools/javascript-trace.d
rename : js/src/metrics/jint/sunspider/3d-cube.js => js/src/devtools/jint/sunspider/3d-cube.js
rename : js/src/metrics/jint/sunspider/3d-morph.js => js/src/devtools/jint/sunspider/3d-morph.js
rename : js/src/metrics/jint/sunspider/3d-raytrace.js => js/src/devtools/jint/sunspider/3d-raytrace.js
rename : js/src/metrics/jint/sunspider/access-binary-trees.js => js/src/devtools/jint/sunspider/access-binary-trees.js
rename : js/src/metrics/jint/sunspider/access-fannkuch.js => js/src/devtools/jint/sunspider/access-fannkuch.js
rename : js/src/metrics/jint/sunspider/access-nbody.js => js/src/devtools/jint/sunspider/access-nbody.js
rename : js/src/metrics/jint/sunspider/access-nsieve.js => js/src/devtools/jint/sunspider/access-nsieve.js
rename : js/src/metrics/jint/sunspider/bitops-3bit-bits-in-byte.js => js/src/devtools/jint/sunspider/bitops-3bit-bits-in-byte.js
rename : js/src/metrics/jint/sunspider/bitops-bits-in-byte.js => js/src/devtools/jint/sunspider/bitops-bits-in-byte.js
rename : js/src/metrics/jint/sunspider/bitops-bitwise-and.js => js/src/devtools/jint/sunspider/bitops-bitwise-and.js
rename : js/src/metrics/jint/sunspider/bitops-nsieve-bits.js => js/src/devtools/jint/sunspider/bitops-nsieve-bits.js
rename : js/src/metrics/jint/sunspider/controlflow-recursive.js => js/src/devtools/jint/sunspider/controlflow-recursive.js
rename : js/src/metrics/jint/sunspider/crypto-aes.js => js/src/devtools/jint/sunspider/crypto-aes.js
rename : js/src/metrics/jint/sunspider/crypto-md5.js => js/src/devtools/jint/sunspider/crypto-md5.js
rename : js/src/metrics/jint/sunspider/crypto-sha1.js => js/src/devtools/jint/sunspider/crypto-sha1.js
rename : js/src/metrics/jint/sunspider/date-format-tofte.js => js/src/devtools/jint/sunspider/date-format-tofte.js
rename : js/src/metrics/jint/sunspider/date-format-xparb.js => js/src/devtools/jint/sunspider/date-format-xparb.js
rename : js/src/metrics/jint/sunspider/math-cordic.js => js/src/devtools/jint/sunspider/math-cordic.js
rename : js/src/metrics/jint/sunspider/math-partial-sums.js => js/src/devtools/jint/sunspider/math-partial-sums.js
rename : js/src/metrics/jint/sunspider/math-spectral-norm.js => js/src/devtools/jint/sunspider/math-spectral-norm.js
rename : js/src/metrics/jint/sunspider/regexp-dna.js => js/src/devtools/jint/sunspider/regexp-dna.js
rename : js/src/metrics/jint/sunspider/string-base64.js => js/src/devtools/jint/sunspider/string-base64.js
rename : js/src/metrics/jint/sunspider/string-fasta.js => js/src/devtools/jint/sunspider/string-fasta.js
rename : js/src/metrics/jint/sunspider/string-tagcloud.js => js/src/devtools/jint/sunspider/string-tagcloud.js
rename : js/src/metrics/jint/sunspider/string-unpack-code.js => js/src/devtools/jint/sunspider/string-unpack-code.js
rename : js/src/metrics/jint/sunspider/string-validate-input.js => js/src/devtools/jint/sunspider/string-validate-input.js
rename : js/src/metrics/jint/treesearch.py => js/src/devtools/jint/treesearch.py
rename : js/src/metrics/jint/v8/base.js => js/src/devtools/jint/v8/base.js
rename : js/src/metrics/jint/v8/crypto.js => js/src/devtools/jint/v8/crypto.js
rename : js/src/metrics/jint/v8/deltablue.js => js/src/devtools/jint/v8/deltablue.js
rename : js/src/metrics/jint/v8/earley-boyer.js => js/src/devtools/jint/v8/earley-boyer.js
rename : js/src/metrics/jint/v8/raytrace.js => js/src/devtools/jint/v8/raytrace.js
rename : js/src/metrics/jint/v8/richards.js => js/src/devtools/jint/v8/richards.js
rename : js/src/metrics/jint/v8/run-earley-boyer.js => js/src/devtools/jint/v8/run-earley-boyer.js
rename : js/src/metrics/jint/v8/run-raytrace.js => js/src/devtools/jint/v8/run-raytrace.js
rename : js/src/metrics/jint/v8/run-richards.js => js/src/devtools/jint/v8/run-richards.js
rename : js/src/metrics/jint/v8/run.js => js/src/devtools/jint/v8/run.js
rename : js/src/sharkctl.cpp => js/src/devtools/sharkctl.cpp
rename : js/src/sharkctl.h => js/src/devtools/sharkctl.h
rename : js/src/vprof/manifest.mk => js/src/devtools/vprof/manifest.mk
rename : js/src/vprof/readme.txt => js/src/devtools/vprof/readme.txt
rename : js/src/vprof/testVprofMT.c => js/src/devtools/vprof/testVprofMT.c
rename : js/src/vprof/vprof.cpp => js/src/devtools/vprof/vprof.cpp
rename : js/src/vprof/vprof.h => js/src/devtools/vprof/vprof.h
rename : js/src/MemoryMetrics.cpp => js/src/jsmemorymetrics.cpp
extra : rebase_source : b328f1463668e12052cb3d8af14d13c2b2f0f91d
Don't assume calls with ignored return values will produce undefined, bug 786491. r=luke