STORM-513 check heartbeat from multilang subprocess

* Spout
** ShellSpout sends "next" to subprocess continuously
** subprocess sends "sync" to ShellSpout when "next" is received
** so we can treat "sync", or any messages to heartbeat
* Bolt
** ShellBolt sends tuples to subprocess if it's available
** so we need to send "heartbeat" tuple
** subprocess sends "sync" to ShellBolt when "heartbeat" tuple is
received
Fix mixed tab / space, remove FIXME
effective log using slf4j feature ({})
kill subprocess when ShellSpout.die() called
Fix equality check with nodejs (not ==, === is right)
Apply heartbeat changes to diverged py/rb/js files
Change Timer to ScheduledExecutorService
Make heartbeat thread to daemon, pool size to 1
fires heartbeat request without using _pendingWrites

* size of _pendingWrites is Config.TOPOLOGY_SHELLBOLT_MAX_PENDING
* If users set this to 1 or strict, heartbeat request can affect performance
Merge branch 'master' of https://github.com/apache/storm into STORM-513

Conflicts:
	storm-core/src/multilang/py/storm.py

* also fixes diverged py files (there're 3 storm.py files but seems to diverged)
Merge branch 'STORM-513' of github.com:HeartSaVioR/storm into STORM-513
sync copies of storm.rb
STORM-513: update chagelog