knapo/a9n — pull request #7 by siemakuba (2014-11-11 21:31:19+00:00)
Title: use module level delegation instead of method_missing

Whille developing a feature in an app that uses A9n, I came across a performance issue, that turned out to be A9n related. Basic memoization solved the problem, but since we use A9n to store a lot of information, I thought that it's worth to look into it more thoroughly.

Benchmark shows, that delegation is far more efficient than method_missing:
```
# using method_missing:
$ ruby test_app/benchmark.rb
$ 3.2284 seconds

# using delegation:
$ ruby test_app/benchmark.rb
$ 0.003 seconds
```

My changes infer altering public interface, which might lead to backward compatibility issues. That might be not an issue as well, since public methods that I've deleted are used by A9n itself (and are not needed any more).

Also, I included a little fix for arguments order in `A9n::Loader#verify!`.