show: Print an error message if commit doesn't have detached metadata

...instead of segfaulting.
repo: When adding detached metadata, ensure the objdir exists

We may be creating the commitmeta file before the commit, so we need
to call mkdir(<first two checksum characters>) here too.
pull: Also fetch detached commitmeta files

These will contain GPG signatures and the like in the future, so we
should fetch them now.