adds reference support (beta)

With this commit, hdf5able will memoize which actual Python objects
have been saved out already, and instead of saving a fresh copy, will
store a soflink in the HDF5 file. Not only does this minimise file size,
it also means we have more predictable behavior when reloading Python
objects.