+ support for worker pause & resume initial commit
+ pause & resume will be extremely helpful in a few cases:
1. route traffic to some specific worker for debugging, warmup, testing purposes. (by pausing the rest)
2. performance tuning by pausing a worker, and do explicit gc, which allows us to use infrequent GC in normal its normal state
+ pause & resume implementation has an assumption that all app states have nothing to do with the server, it could be in the process mem space, tied to the express app, or elsewhere, but never tied to the actual tcp/http/https server. that's a prerequisite for efficient resume.
Merge pull request #7 from cubejs/cluster3

Cluster3 rebase
Merge pull request #52 from inexplicable/cluster3

pause & resume
+ pause/resume implemented, added to monitor
Merge pull request #53 from inexplicable/cluster3

+ pause/resume implemented, added to monitor
Merge pull request #7 from cubejs/cluster3

Cluster3
Added test cases to test pause and resume worker
+ warmup enhancements
~ warmup for each worker now uses an intermediate server listening to 'warmup port' till warmup function is completed
~ then the worker starts the real server listening to the actual port
~ master awaits 'worker-%pid-listening' event
Merge pull request #55 from inexplicable/cluster3

+ warmup enhancements
Merge pull request #8 from cubejs/cluster3

Cluster3
Moved the cache performance test to a separate folder
~ bugfix of master warmup
Merge pull request #56 from inexplicable/cluster3

~ bugfix of master warmup
Merge branch 'cluster3' of https://github.com/cubejs/cluster2 into cubejs-cluster3

Conflicts:
	test/performance/cluster-cache-test.js
~ fix failure of test case, where cache info got overwritten by concurrent test cases
~ it's now configurable for both cache domain file path & persist path which allows test case to set differently
Merge pull request #57 from inexplicable/cluster3

~ fix failure of test case, where cache info got overwritten by concurre...
~ fix of address returning to warmup callback
Merge pull request #58 from inexplicable/cluster3

~ fix of address returning to warmup callback
Merge branch 'cluster3' of https://github.com/cubejs/cluster2 into cubejs-cluster3

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Merge branch 'cluster3' of https://github.com/cubejs/cluster2 into cubejs-cluster3

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.