Improve command_interpreter detection

Adds support for `#!/usr/bin/env ruby` style interpreters
Normalise indentation to tabs.

Done to match the included patch code which comes from upstream.
Rewrite rc.d-unicorn script to fix system and bundler.

This rewrite fixes a number of issues

* Fixes `$rc_pid` issues for bundler exec unicorn
  This requires setting `procname` to "unicorn" which unfortunately does
  emit a warning as `check_pidfile` is unable to read the interpreter
  from "unicorn" as its not a qualified path, we can't change it to a
  qualified path as unicorn rewrites its `$0` so the process won't
  match.

* Removes the `_find_processes` patch as the `procname` change makes it
  irrelevant.

* Fixes startup failures due to skeleton PATH when running bundle exec.
  The PATH is now enhanced with the `dirname` of the `$command` and the
  `$command_interpreter` (if they are different). This fixes bundle exec
  as when starting unicorn bundler will try to invoke its interpreter by
  name rather than by path. As `/usr/local/bin` is not in the PATH given
  by the `service` utility the startup would fail.

* Sets the BUNDLE_GEMFILE environment variable if a Gemfile is found.
  The Gemfile will be searched in the `${name}_chdir` and
  `required_dirs` listings.
Merge pull request #7 from geoffgarside/freebsd-initscript

FreeBSD initscript improvements