Handle file/index not found errors in reader classes gracefully instead of segfaulting!

This has been a common complaint against gamgee of late, and
with very good reason!

Resolves #336
I think it's important for the name of the exception not to be deceiving -- it shouldn't be called FileNotFoundException if it can be thrown when a file is present (but unreadable).