Remove the ability to clone shallow

- We discovered fetching a ref that depends on commits which are not
in the repo (because the repo was cloned 'shallow') causes errors.
- This disables the shallow cloning option entirely, and for backward
compatibility it detects if an existing repo is shallow and re-clones
it if so.
Two lines above here we have the self._shallow = shallow setting.

Are you keeping that there so that in the interim we won't throw an error? Because otherwise it seems like we should remove it.