Keys should be identifier-like (addresses #65)

Keys should contain only letters, numbers or underscore (`_`) characters, and should
start with a letter or underscore. See #65 for discussion.