fix(coreos-cloudinit): Ensure /etc/coreos exists before writing to it
Merge pull request #107 from bcwaldon/locksmith-no-etc

fix(coreos-cloudinit): Ensure /etc/coreos exists before writing to it
refactor(*): rework cloudconfig for better extensibility and consistency

This change creates a few simple interfaces for coreos-specific
configuration options and moves things to them wherever possible; so if
an option needs to write a file, or create a unit, it is acted on
exactly the same way as every other file/unit that needs to be written
during the cloud configuration process.
refactor(*): simplify based on bcwaldon's feedback
fix(*): cleanup based on philips's comments
fix(*): address bcwaldon's thingies
refactor(systemd): don't allow users to set DropIn=true yet