Memoize errors

I don’t know whether you’d consider this to be within the scope of Memoist, but I found a need for it.

As it stands, an error raised by a method prevents its memoization. This commit allows Memoist to cache not just successful results of a method but also errors. If a method is called with the same arguments, the same [_Exception_](http://ruby-doc.org/core-2.1.2/Exception.html) object is raised without an additional call to the method.