feature: use cloud-init to pass in distinguishing data to newly created nodes

Squashed commit of the following:

commit 8746a49c5ffe0400c2376517fa726295d175bddc
Author: Chris Howe <howech@infochimps.com>
Date:   Fri Mar 14 10:29:36 2014 -0500

    Host names can not have _ characters in them.

    Change-Id: I259213815792002325f4f58f1409366eff3d6b28

commit 97e31dea412dbd4da578afaa5ddde2cea321094a
Author: Chris Howe <howech@infochimps.com>
Date:   Thu Mar 13 11:10:19 2014 -0500

    This commit changes the way ironfan pushes identifying information to
    launched instances. Before this was done through a json hash in the user-data
    that was interpreted by custom code in /etc/chef/client.rb. With this change,
    we make use of an already existing package on ubuntu cloud images called
    cloud-init, which deploys our identifying data in a more standard way. Additionally,
    it handles setting the machine's hostname early on in the boot process.

    Change-Id: I114b98607991072e9c33d00cb307f9921d5bcf4c

Change-Id: Ibc9b73ffca6c615389fa96b437575b2876b10f0e
Merge "feature: use cloud-init to pass in distinguishing data to newly created nodes"