hydiomatic.utils: Fix a miscast in walk

When the (walk) function traverses a list, it unconditionally turned the
result into a python list, regardless of what other list-descendant type
the form was originally. This made forms with lists unevaluatable. To
fix that, make it back to the type it originally was.

Signed-off-by: Gergely Nagy <algernon@balabit.hu>
hydiomatic.utils: Use instance? instead of isinstance

Signed-off-by: Gergely Nagy <algernon@balabit.hu>
hydiomatic.utils: Add support for LambdaKeywords and Keywords

Signed-off-by: Gergely Nagy <algernon@balabit.hu>