Fix a problem with the `do` Elixir keyword

As of my last comment in #60, the `do` Elixir keyword didn't work with stuff like:

``` elixir
defmodule M do
  # no `end` here
```

Now it does; I tested this behavior also with `def func do...end`, `case [...] do...end` and some other constructs, everything seems to work and, more importantly, nothing *seems* to be broken.