modified to pickle

add Pickle::empty() && change some functions access level
modified in pickle

1.Remove default-ctor of PickleIterator
2.update comments
add unittest for pickle (not yet finished)
add move-op for Pickle