Implement rhino source provider for assets.
Move javascript library code.

To add them in assets.
Seperate module source provider for library and plugin code.

Currently, both library and plugin uses UrlModuleSourceProvider. But
assets are packaged to jar on deployment and UrlModuleSourceProvider
cannot read source from jar. So this patch makes Beyond uses
AssetsModuleSourceProvider for library.
But plugin code still should read with UrlModuleSourceProvider.

To implement it this patch makes BeyondGlobal takes ModuleSourceProvider
as an argument. This provider will be used for library code.
Make BeyondJavaScriptEngine unsandboxed.

This patch turns off sandbox, because current AssetsModlueSourceProvider
doesn't support sandboxing.

It should be fixed ASAP.
Make metrics disablable.

Beyond uses sigar for metrics, but there is a problem to use sigar
library in production mode. So disable it until fix the problem.

Enabling metrics are determined by `enable-metrics` option.

And this patch disables metrics only for production mode.
Handle ConsString for JSON body in ScriptableHttpClient.

Currently a convert function in ScriptableHttpClient doesn't handle the
ConsString object. This patch fixes the module to handle it.
Add `use-sharding` option for MongoDB.

Currently Beyond launches a standalone MongoDB server on
localhost. This patch renames the current MongoDBLauncher to
MongoDBStandaloneLauncher and makes Beyond use it only when
`use-sharding` is false.

Sharding itself hasn't been implemented yet.
Separate a common part of MongoDBStandaloneLauncher.

Some part of MongoDBStandaloneLauncher can be used for other MongoDB
instances such as shards or config servers. This patch separates the
part into MongoDBLauncher.