Adding __setstate__ magic resolves pickle error

By adding the __setstate__ method an infinite loop is avoided regarding
the use of __getattr__ on the ProductAttributesContainer model.

Moving tests into appropriate folder

I didnt realize that I had such an existing fork with a old master, updated.