Tighter errors for hit_source

If the user sets hit_source to something the requires extra data but that
data isn't stored then throw back an error rather than failing deep in the
guts.
Merge pull request #6 from nik9000/error_using_bad_hit_source

Tighter errors for hit_source