Use dulwich for remote fetch

- Seems that the code for this is a lot more mature than pygit2.
Split the two different library usages.

- More clearly define what is being achieved.
Only supporting http(s) protocols.

- Main instance is firewalled off anyway, and it would require another
  check for instantiating the correct dulwich client class.
Ensure root path also fails.
A better but brutal way to kill the test server