move all logic to roles
adds simple role consumers for hash/array
whitespace fix
move all actual logic to Data::Perl::Role, split from consumers
make note in Changes of move to roles