feat(meta_data): Add partial support for meta_data.json

Refactored to allow user_data and meta_data to be parsed and applied
the same way. Added support for setting the hostname and ssh keys via
the metadata.
Really we should be filtering out the "core" user, or otherwise propagating the user, right?