Adding syntax to detect 'pkg' from $PATH

DEFAULT: use /usr/local/sbin/pkg if File.executable? returns true.
ELSE: use which() to return full path to 'pkg' binary if part of $PATH

Per PR #23 , 'pkg' can be installed to another location, hopefully still in $PATH. Added a which() function to handle detecting this.
Per PR #27 , the default for FreeBSD 10.0-RELEASE and $PATH for 'pkg' will result in '/usr/sbin/pkg' if we use which. Given this, and it being a wrapper to '/usr/local/sbin/pkg', we have a stated default pointing to '/usr/local/sbin/pkg' if the file exists and is executable. Else default to the which() function and attempt path detection of the 'pkg' binary.

Trying to make peace with both #23 and #27.

Also as noted, PATHEXT is a Windows thing the 'which' function is cross platform capable and parses both PATH and PATHEXT environment variables even though this code is confined to FreeBSD.
Merge branch 'pkg_locations' of github.com:mengesb/puppet-pkgng into pkg_locations