add support for deploying chef to FreeBSD

* FreeBSD requires us to use /bin/sh as our shell
* FreeBSD's root user's group is `wheel` not `root`, but on OSX, Linux and FreeBSD systems, the GID is 0, so use the GID instead of the group name
Set the shell based on whether the target OS has /bin/bash
use unix's `id` command to get the root user's group name
refactor printing the supported OSes message into a function
use the freebsd port for rubygem-chef

The newest ohai (6.16.0) has some problems finding the ipaddress  on freebsd.
add _configure_fabric_for_platform method

Pass in the `platform` property from Ohai to this method, and it will configure fabric for that platform.

Right now it only changes env.shell to `/bin/sh -c` if the platform is freebsd.

We call _configure_fabric_for_platform from the _node_runner method, and from the deploy_chef task
When deploying chef to a new node, create a node config file

If one doesn't already exist, create a node configuration file with some properties from ohai (ipaddress, platform, platform_family, and platform_version right now).

This is useful we we can perform some basic logic in littlechef based on these properties (e.g. changing env.shell for FreeBSD)
move some code out of the try block
Merge pull request #165 from caleb/master

add support for deploying chef to FreeBSD