Use raw map key when it cannot be keywordized

YAML allows the keys in a map to be arbitrary nodes: scalar, sequence
or mapping. [1]  Prior to this commit, the *keywordize* option was
incorrectly setting map keys to `nil` for any keys that could not be
keywordized via `(keyword k)`.  For example, a valid integer key
"123: 456" would be parsed as {nil 456}, because `(keyword 123)`
evals to nil.

This commit fixes the issue by keywordizing any map key that can be
keyworded, and otherwise using the raw key if `(keyword k)` is nil.

[1] http://www.yaml.org/spec/1.2/spec.html#id2764044