Updated data format to be more fun to use

Rather than a straight hash, I now provide objects that have accessors
for the attributes and services set on them. Additionally environments
expose both 'hosts', which returns a flat array, 'hosts_by_type', which
allows for selection of a set of hosts based on their type, and
'each_host' which allows a block to be executed for each host in the
environment.