Use encodeToFile to convert errors to exceptions
Added a generator method to fetch from
Added a new fetch style of raw

This is to replace public calls to _fetch() which should be an internal method
Allow the new FETCH_RAW style to work with the Cache class
Deprecated the _fetch() method in favour the FETCH_RAW style
Moved the fetch() and generator() methods to the abstract class

These should be consistent between the fetchable classes
Instead each child class should implement the new getNextRow() method using it's own internal handling