JavaScript support using v8 (initial import)

Rebased from my branch originally developed for 1.4.8 in Jan-Feb 2013
[js] Update to new V8 API (tested on V8 3.20.14)
[js] Add FunctionTemplate cache
[js] Switch to C++ API in init.cc
[js] Rewrite 'require' module
[js] Remove userdata_XXX methods from js.h
[js] Refactor all built-in modules into a common structure
[js] Initial support for JS <-> C++ exceptions interoperability
[js] New built-in module 'lua': JavaScript to Lua bridge
[js] Do not halt if init.js does not exist
[js] Fix v8 crashes in debug mode
[js] Bindings for box (select, insert, replace, store, delete)
[js] Remove V8 Idle loop
[js] Fix clang build
[js] Bindigns for box.info, .cfg, .slab, .stat
[js] bindings for session
[js] New built-in module 'console': debug utils