utils: new Memoise

* Changes old method of checking 'hashability' into a correct one.

* Removes unnecesary duplicated memoize.

* Adds InstanceMethodMemoise for memoising instance methods.

Signed-off-by: Mateusz Susik <mateuszsusik@gmail.com>
In `next/pu` we are using Sphinx with ReST (http://sphinx-doc.org/rest.html).

##### Example:
```python
"""My doc string.

.. code-block:: python

    class Foo():
        pass

howgh.
"""
```