Keyword Lists

Minimal keyword lists that support all forms of keyword keys, but only `()` for keyword values as matched expression (#50) and unmatched expression are not implemented, which are needed to complete [containerExpression](https://github.com/elixir-lang/elixir/blob/de39bbaca277002797e52ffbde617ace06233a2b/lib/elixir/src/elixir_parser.yrl#L436-L439), which is used for keyword values.