Make method WALK know about roles and use WalkList
Make method WALK know about roles and use WalkList

It is also supports submethods now and it is possible to skip either
methods or submethods on request.

Added named parameters:

- `:roles` – walk over roles, false by default
- `:submethods` – include submethods, true by default
- `:methods` – include methods, true by default

`WALK` is now multi. In addition to the old-fashion form, it now can
accept one positional parameter for method name.

The return type is now `WalkList` which supports batch invocation of a
method list. I.e. it is now possible to:

```
$obj.WALK("method").invoke($param, :$named);
$obj.WALK("method")($param, :$named);
```

`WalkList` can also be set to `reversed` and `quiet` modes. The first
will result in methods being iterated in last-to-first order (kinda
simulating constructors calling). The second will result in ignoring
exceptions. Instead of throwing, `WalkList` would then use a `Failure`
as failed method's returns value.

tbrowder/rakudo,MasterDuke17/rakudo,rakudo/rakudo,softmoth/rakudo,nbrown/rakudo,tbrowder/rakudo,tbrowder/rakudo,labster/rakudo,labster/rakudo,tbrowder/rakudo,salortiz/rakudo,labster/rakudo,nbrown/rakudo,nbrown/rakudo,tbrowder/rakudo,softmoth/rakudo,salortiz/rakudo,MasterDuke17/rakudo,tony-o/rakudo,MasterDuke17/rakudo,tony-o/rakudo,tbrowder/rakudo,tony-o/rakudo,rakudo/rakudo,nbrown/rakudo,labster/rakudo,MasterDuke17/rakudo,rakudo/rakudo,labster/rakudo,salortiz/rakudo,tony-o/rakudo,salortiz/rakudo,salortiz/rakudo,MasterDuke17/rakudo,salortiz/rakudo,tony-o/rakudo,rakudo/rakudo,rakudo/rakudo,softmoth/rakudo,labster/rakudo,softmoth/rakudo,tony-o/rakudo,MasterDuke17/rakudo,rakudo/rakudo,softmoth/rakudo,nbrown/rakudo,nbrown/rakudo