Fixed keywordization.

Previously `*keywordize*` was a dynamic variable, and so e.g. `(map decode ...)` would use the default `*keywordize*` (i.e. `true`) rather than the locally bound one, since `map` is the calling context. As you can imagine, this caused all kinds of flakiness when you wanted un-keywordized values anywhere but the top level in maps decoded from YAML.

I added a test case and then fixed it.