add full support for puppet master used hier data to specify roles.
add support for environments.