Per vm answer files.
This commit adds the ability to use custom answers files for PE on a
per-vm basis. Before this commit, all nodes were built off default
answer files. While the default answers are functional, they do not
suffice for every situation.

The way an answers file is chosen will work as follows. First, we will
try to find the file the user specified. If the user does not specify a
file, we will assume there is a file named after the machine role with
a .txt extention. In either case, if a user provided file cannot be
found, the next step is to fall back to a default answers file.

This method is enforcing that an 'answers' directory under the project
root is used for all user provided answers files. User provided answers
files may be ERB templates.
Clean up comment
Remove 'to-do' for 'configure_installer'. The functionality this
to-do is mentioning has been added.
Allow user defined steps
Currently there are script based steps in the background. They do
various actions from pre-provision to post-provision. This commit gives
users the ability to set vm specific actions for each step in the process
(:pre, :provision, :post). The user provided steps override the default
role based steps. In the event a custom action is not provided for specific
step, the role relevant default is used. If a custom action is provided,
but the path is wrong or it otherwise cannot be found, we do not fall back
to the default. The user provided action is assumed to be a script. The
action can be templatized and will be run through ERB before being run
on the vm.

Batteries stay included!
There are a set of script based :base steps. These steps remain active
and are not user overridable. These steps do things such as call the PE
installer.