Raise a ValueError for invalid shas

When hex_to_sha is passed an invalid sha, raise a ValueError instead of a
TypeError. This exception is more appropriate since the sha is still a string.
Catch ValueError in BaseRepo.__getitem__ when querying object store

This allows us to fall back on querying the refs when looking up 40-character
refs.

Fixes: #82
Fix tests after adding support for 40 character refs.
Update NEWS.
Fix error in fetching with side-band-64k disabled

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Update NEWS, add test for fetch pack with side-band-64k disabled.
If a string is passed in BaseRepo.get_walker we turn it into a one item list instead of iterating over the string itself

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
Add test case for using a single string instead of an iterable as a valid argument for BaseRepo.get_walker

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>