appview: state: fix forking across knots
Turns out we were accidentally using the destination knot as the
sourceUrl, and git was understandably annoyed. This also improves the
error checking when fetching the existingRepo from the database to
verify the forkName won't clash.