Warn for unused variables.

ruby-lint is yet again able to add warnings for unused variables. To make this
(and related actions) as easy as possible the definitions builder not only
builds the definitions (doh!) but also creates a Hash for storing associations
between AST nodes and the corresponding definitions.

This means that it's super simple to retrieve this data without having to
modify the AST or resort to other dirty workarounds. This solution is also one
of the faster ones, although I'm not entirely convinced about the current
solution of storing things in `@options` is a good idea.

Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>