Handle methods called on blocks.

When evaluating method calls on blocks ruby-lint would first associate a
definition with a (block) node, then overwrite it with an "unknown" value (the
result of the method call).

The workaround is to always associate method call definitions with (send)
nodes. The downside is that every piece of code that has an `on_send` or
`after_send` callback has to handle this as well.

This fixes #111.