Initial pack object decoding support

Woohoo! A proof of concept PackObject decoder that actually works and gets us a
commit object from the example repository.