Don't force specific usage of role upon user

Make the targeting of the namenode, datanode, jobtracker
and any indepdent targetable by using pillar, nodegroups,
grain roles. User can now specify in pillar how
the namenode, datanode should be targeted.

Uses compound matching where the user can
change the matching string to his own liking in pillar
Inside the sls files to know whether the namenode
or datanode package / service should be used we use
salt match.{compound|glob} directly.

Patch is only tested with HDFS so please help
with testing the other components.

Note: This patch *should* be backwards compatible as
previous role based usage is current default
for for all configurable strings

Work in progres.... still being tested