Patch to throw if the target doesn't exist

list-groups, list-artifacts, list-versions, list-namespaces and
list-defs should all throw exceptions if there is no such dir in the
filesystem as this denotes that the target handle isn't known and the
client should not generate meaningful output.