lib/uglifyjs.js: added UglifyJS and load it during bootstrap

thinking about using UglifyJS instead of Lively's OMeta-based JS Parser
for source transformations. UglifyJS's parser doesn't necessarily change
the JS code as much as parsing, transforming, and printing with Lively's
parser does (white space, property access, ...). instead UglifyJS is even
able to generate source maps along with code to debug the original source
while running the generated code, which might also be feasible in Lively's
tools.

further, OMeta strips function names in certain cases. and also heavily
relies on execptions, which interferes with debugging other exceptions...

for more info on UglifyJS, see http://github.com/mishoo/UglifyJS or
http://lisperator.net/uglifyjs
Object Versioning: source transformations using UglifyJS's parser

further adds test cases to specify the different transformations of function
declarations  and function expressions, as it's not enough to simply wrap function
in the proxy function, but necessary to make the previously function declaration
(that is now an argument, that is, a function expressions) accessible via its name.

for more details see UglifyTransformer.transformSource() and its comments.

UglifyJS is able to also generate source maps, can also minify/beautify,
seems more complete and tested (e.g., doesn't strip function names in some
cases), doesn't throw exceptions during parsing, and is a magnitude faster
than the current Lively Parser for our transformations (and the current
benchmarks).
Object Versioning: faster rewrites of function declarations

rewriting no longer prints the whole function declaration (to add
the variable statement, then parse that new statement, and put that
freshly parsed node for the original function declaration node into
the AST), but creates the varDef-statement with a stand-in-string
and replaces that subsequentely with the function declaration node.

makes the benchmarks about two times faster
lib/source-map.js: added source-map and load it during bootstrap

which UglifyJS uses to generate source-maps along with code...
Object Versioning: some WIP on also generating source maps