hy.contrib.walk module

This adds a `hy.contrib.walk` module, which has `(walk)`, `(prewalk)`, `(postwalk)`, and in a separate patch, `(macroexpand-all)`.

The last one is slightly buggy, as it traverses into quasiquoted stuff, where it shouldn't, but I believe it's better to have a slightly misbehaving, but still useful version of macroexpand-all, than none at all. Especially since it is aimed at contrib, for the moment.