Huzzah. Preventing local loops. That was harder than expected.

Also, fixed an error where when you fetched a non-existent package, it
wasn't failing.

All of this, and more, will be written into tests. First function, then
rewrite better and simpler. Need an outline first.

Next steps are for the local use of repository information.