Added explicit __getstate__ and __setstate__ to enable pickling

Clever object unpickling fails with 

      File "/cygdrive/c/Users/Hardik/code/clever/__init__.py", line 461, in __getattr__
       if k in self._transient_values:

up till max recursion depth.

Adding `__getstate__` and `__setstate__` fixes this.

However, I'm not sure if  `__setstate__` would result in missing `__setattr__` updates, if it is called as a result of anything other than unpickling.