Import lexer and reader from shen-ruby

This commit imports the Kl lexer and reader and their tests from
https://github.com/gregspurrier/shen-ruby as of version
a7e3012ce723aeb56b1746d9b0ae4debbbdbe6c4. A few adaptations were
required:

- Update specs to use RSpec 3 expectations
- Change namespace from Kl to Klam
- Use the Klam primitives and converters for lists
- Use Klam::SyntaxError instead of Kl::Error