Reimplement Options#get_options

The old implementation interpolated strings to figure out what methods
and variables to read, which is absolutely terrible from a performance
perspective.
Inline Adapter#collect_options

This result in a much faster and shorter implementation.

The drawback is that it introduces slight code duplication,
but personally, I think it is more readable this way.
Do not cache option translations

According to my benchmarks, with the updated options handling it is
actually faster to not cache the options.
Remove #cached_options and #reset_cached_options!

When no longer caching options, we no longer need to maintain the cache
Merge pull request #146 from grddev/performance_tweaks

Performance tweaks