Add phased restart to capistrano recipe.

Add phased restart task.
Little refactor. Do not use fetch when no needed.
Allow configuring pumactl with config.rb

example:
  echo "pidfile '/tmp/app.pid'; rackup 'config.ru'" > /etc/puma/app.rb
  pumactl -F /etc/puma/app.rb start # starts an app and store pid in /tmp/app.pid
  pumactl -F /etc/puma/app.rb stop  # stops the started earlier app

Integration test t2 included: rake test:integration
Also fixed discrepancy in naming options :pidfile/:pid_file and :state/:status_file
Add PUMA_JRUBY_DAEMON_OPTS to get around agent starting twice
Bump to 2.4.0
Use Puma::Const::PUMA_VERSION in gemspec
Use integers when comparing thread counts

When setting min & max via ENV var (PUMA_THREAD_COUNT="6:12") one will
get a RuntimeError, because "6" > "12".
remove obsolete pumactl instructions; refer to pumactl for details
make `pumactl restart` start puma if not running
Fix typo in phased-restart response

Sponsored-by: CentroNet Marketing
Update upstart comments to reflect new commandline

```service puma start app=PATH_TO_APP`` is the correct syntax.
Uncomment setuid/setgid by default in upstart
Autodetect ruby managers and home directory in upstart script

- HOME is now picked up automatically from setuid.
- script will try rbenv, rvm, then chruby automatically.
- quoted heredoc to prevent /bin/sh interpreting variables early

Sponsored-by: CentroNet Marketing
Correctly report phased-restart availability

Additionally log when phased-restart is not available,
before performing a standard restart.

Sponsored-by: CentroNet Marketing
Add experimental tcp mode (aka lopez express mode)
Update gemspec
Convert header values to string before sending.
Fix pidfile creation/deletion race on jruby daemonization
Merge remote-tracking branch 'origin/pr/339'

Conflicts:
	puma.gemspec
Merge pull request #345 from jc00ke/convert-thread-counts-to-ints

Use integers when comparing thread counts
Merge pull request #347 from CentroNet-Marketing/phased-restart-typo

Fix typo in phased-restart response