+ enforce message encoding/decoding to avoid '\r\n' symbols
Merge branch 'cluster3' of https://github.com/inexplicable/cubejs-cluster2 into cluster3
Merge pull request #3 from cubejs/cluster3

Cluster3
Merge branch 'cluster3' of https://github.com/inexplicable/cubejs-cluster2 into cluster3
+ to enjoy the newly released node-inspector ~0.4.0
+ allow saveLiveEdit to be an option, will help in dev
+ tests for ECV started
+ renamed exitIfBusyPort to rejectIfPortBusy to align with the promise's intent
+ finished 'control' mode ecv unit test
+ fixed port occupancy assertion
+ pickAvailablePort to utils.js
+ ecv test for mode 'monitor'
+ unit test for utils, bugfixes of utils.js
+ debug embedded node-inspector using messaging
+ 'use strict' & fixed octal literal
+ cluster-emitter-test.js
~ avoid dup comp registry
+ bugfix of port availability check, use http server to verify confidently
~ moved unit tests to /test folder and leave /test/lib to cluster's workers
+ cluster-emitter unit test added, included 'optimist' for argv parsing as devDependencies
+ simplified cluster-emitter & cluster-status usages, could be required using:

require('cluster/cluster-emitter')
require('cluster/cluster-status')

directly without access to cluster instance
+ refactored cluster-emitter to emitter & cluster-status to status
   to allow require to work as:
   require('cluster2/emitter')
   require('cluster2/status')
+ status unit test
+ error in heartbeat
+ pending cluster-status cluster unit test