stacktrace tests
stack trace implementation in the VM
compiler forks (enabled by -DSTACKTRACES) to ensure exceptions get traced properly
use "vm" module sandbox on nodejs for requiring vanilla js modules to get correct filenames in stacktraces
Write stacktrace information to `err.message`, as `err.stack` can't be reliably used (it has no effect in chrome / firefox, for starters)
Preserve newlines in errors reported by xbrowser/console
stacktraces cleanup
Merge commit '039ec81a904f1699a71a76d971392421513e51b8' (stacktraces) into mho

Conflicts:
	src/sys/apollo-sys-common.sjs
	src/vm1/vm1.js.in
	test/suites/collection-tests.sjs
(compilation-only commit, to ease merging)
Forgot to commit "object" module tests
Changes to object.extend, merge and related functions:

 - Made object.extend(dest, src) only accept one src
 - Made object.merge(src*) take either a single array argument or a sequence of object arguments.
   The arguments are no longer recursively flattened.
 - Added array.concat(arrays), which flattens an array of arrays one level (non-recursively).