Elixir do .. end blocks and fn .. end anonymous functions

Defines concepts of a block and an anonymous function. This also allows folding.

The words `do`, `end` and `fn` had to be removed from `elixirKeyword` group because they are delimiters for blocks and functions. However when a block or an anonymous function is detected each delimiter is considered a `elixirKeyword`.