build: link v8
docs: add v8 libs into README
db: add foreach() command into interface
hashtable: implement foreach callback using v8 vm
js-vm: use TryCatch to catch exceptions using our logger
js-vm: handle correctly malformed js code

Otherwise you will get next error:
  <unknown>:8: Uncaught SyntaxError: Unexpected token (
  #
  # Fatal error in ../src/api.h, line 297
  # CHECK(allow_empty_handle || that != __null) failed
  #
js-vm: redirect console.{log,error}() into our logger
js-vm: move logger prototypes into hashtable to really embed it
jsvm: move all code related to v8 vm into separate module
travis-ci: rules to install libv8-dev package
hashtable: drop extra include of <log.h>
avltree: store origin key, not only hashed value
avltree: implement foreach, and now you can use js code inside it too
db: hold a lock during all foreach execution time

Maybe we need to release/acquire it for every item, or for X items, to
allow other operations.
jsvm: add copyright notice, since every file have it
cmake: update modules
build: check whether v8 have most of constructors with Isolate *

Instead of getting current ( v8::Isolate::GetCurrent() ), by default you
need to pass it by your self, which is kind of more correct.

See 82809d095eaba256e968516ce410eebac67f903e ("Added a version of the
v8::HandleScope constructor with an Isolate and use that consistently.")
from v8 project.
build: detect whether v8 have FunctionCallbackInfo
build/config: pass through HAVE_V8_FUNCTIONCALLBACKINFO
Merge branch 'embedded-v8-vm'

* embedded-v8-vm:
  build/config: pass through HAVE_V8_FUNCTIONCALLBACKINFO
  build: detect whether v8 have FunctionCallbackInfo
  build: check whether v8 have most of constructors with Isolate *
  cmake: update modules
  jsvm: add copyright notice, since every file have it
  db: hold a lock during all foreach execution time
  avltree: implement foreach, and now you can use js code inside it too
  avltree: store origin key, not only hashed value
  hashtable: drop extra include of <log.h>
  travis-ci: rules to install libv8-dev package
  jsvm: move all code related to v8 vm into separate module
  js-vm: move logger prototypes into hashtable to really embed it
  js-vm: redirect console.{log,error}() into our logger
  js-vm: handle correctly malformed js code
  js-vm: use TryCatch to catch exceptions using our logger
  hashtable: implement foreach callback using v8 vm
  db: add foreach() command into interface
  docs: add v8 libs into README
  build: link v8