Augment name formating and expand to all builders

Move the name parsing into common code and expand to all builders. This
allows for more consistent handling of the template variables and provides
a framework for adding more variables in the future. In addition to the
exising ".CreateTime" this adds a more generic time formatter and username.
An example of this is:
  "ami_name": "packer-{{user}}-{{time \"UTC\" \"2006-01-02T15:04:05Z\"}}"
results in:
  "ami_name": "packer-mark-2013-07-21T20:57:47Z

Note: an uncommitted change for discussion is to use single quotes for the
arguements and do a string replacement prior to parsing the configuration
template. This results in a slightly more readable representation within
the JSON file.

The website has been edited to unify the documentation for this on a single
page and add references to the vmware/virtualbox pages.