Move pack and unpack code into the lib directory as private for now.  Once the API stabilizes it might make sense to expose them as public interfaces.