Do not allow memoization methods with nonzero arity

This makes sure the memoizer is not used to create tricky to track down
bugs.

Currently adamantium allows the following:

```
class Foo
  include Adamantium

  def something(x)
    x * 2
  end
  memoize :something
end

foo = Foo.new
foo.something(1) # => 2
foo.something(2) # => 2, Tricky to track down bug.
```