hiera: role-based backend, role keyword

We introduce a new puppet function, role, which can be used ONLY at
node scope and allows to register that one (or more) specific roles have
been assigned to the class, and use it to direct hiera lookups made via
the new "role" backend.

Change-Id: I9a7e54539a421936ba4ced8c4229abacdde0a4fd
Signed-off-by: Giuseppe Lavagetto <glavagetto@wikimedia.org>