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
Allow unicorn::app source to specify a path to a unicorn
Add rbenv detection and support.

When starting the `${name}_user` variable will be checked for the
presence of a `~${user}/.rbenv` directory. If this directory is present
then the `.rbenv/shims` and `.rbenv/bin` directories will be prepended
to the PATH so that rbenv can be used to load unicorn.

This support primarily requires the use of a binstub for unicorn to be
created and for the path to this binstub to be given as the `source`
parameter of the `unicorn::app` resource.
Merge pull request #8 from geoffgarside/freebsd-rbenv

Add rbenv support (FreeBSD)
Set template variables as instance variables.

Fixes deprecation warning on newer puppet.
Merge pull request #10 from datacentred/fix_inst_var_templates

Set template variables as instance variables.