Make unpickling a little more efficient, and use the binary protocol, too