forward agent by default, for deploys

should eventually make this configurable
add `fh init` command for a template config

it works sort of like `vagrant init` in that it drops a basic config
down that helps users see what's available as well as includes defaults
that will allow a basic VM to be booted

json's lack of comment support means the template can't really be
commented; we may want to switch formats in the future to allow for a
commented config file
initial apache + passenger support; config restructure

moving to a more consistently nested config structure, so we have
arrays of `freighthop::database::servers` and `freighthop::web::servers`
to drive different pieces.

we're migrating away from passing config options at the top-level init and
letting them flow down. instead we'll let json driven hiera config drive
any specific config tweaks, with sane defaults wherever appropriate.
this lets a user customize things quite a bit, for example setting up a
config where nginx and apache are both present and listening on
different ports and have different web roots.

this thing will definitely break backwards compatibility with older
configs. i'm hoping the config format will settle down soon.
start moving params class defaults into hiera common

this is more proper puppet and doesn't have annoying load order issues
cut v0.3.0
set PassengerAppEnv and PassengerDefaultUser

PassengerAppEnv defaults to "development" but can be overridden via the
config; PassengerDefaultUser is pinned to the vagrant user, which is
what runs all the web processes from its rbenv
fix mysql grants, which were broken since refactor

set $user to $title, which was just wrong, and caused puppet to fall
over yelling about a required argument

also it turns out % != localhost in mysqlville, which was a painful
debugging session.
cut v0.3.1
reverse default of passenger_buffer_upload

i had it wrong. also pull default into hiera, where eventually all the
defaults will live.
cut v0.3.2
passenger config: switch from boolean to array of lines

ran into a puppet/hiera bug with handling booleans [1]. rather than
upgrading puppet, switching strategies to avoid booleans for now.

http://projects.puppetlabs.com/issues/17474
cut v0.3.3