REL: 0.7.0
fix function caching for IPython
WIP
Adapt collision warning to new func_inspect
TST: add Python 3.3 to travis
Preliminary implementation of cache references

Instead of returning the output of the memoized function, MemorizedFunc
can output a reference to the cache data.
This implementation is still very rough.
Changed API

The "reference" keyword on MemorizeFunc has been dropped, in favor
of a new method "call_and_shelve".
Added NotMemorizedFunc class
Proper support for cachedir=None in Memory

Memory(cachedir=None).cache(func) does not return func anymore, but
NotMemorizedFunc(func) instead. This is just to consistently provide
call_and_shelve() in all cases.

Added pickle support for NotMemorizedFunc.
Renamed CachedValue to MemorizedResult
Added __repr__ to some classes
Extracted format_signature from MemorizedFunc

It is now a standalone function in func_inspect.py
Extracted format_call from MemorizedFunc

Make this method a standalone function in func_inspect.py. Left a
compatibility method in MemorizedFunc.
Improved code and test
Updated documentation
Made NotMemorizedFunc pickleable
Fixed tests for python3
Minor fixes
Modified MemorizedResult signature

MemorizedResult does not take the full path toward cached value, but
its components: cachedir, function name, arguments hash.

Some refactoring was performed.
Small fixes on code and tests