Make Diff.Compare able to expose type changes

Fix #196
Prevent test cleanup from hiding potential test failure
Make repo.Fetch() accept a Credentials instance