only serve from cache when maxAge is met or is explicitly set to false

the offline-first + asynchronous synchronization philosophy on which I have been basing our API is still very confusing to most developers, since we're all still used to the "backend thinking" that a call to the library API corresponds to a call to the server. To prevent people from accidentally reading from cache when upgrading from 0.9 to 0.10, let's force the developer to explicitly set maxAge to false, instead of leaving this as an optional parameter that defaults to falsy (by being undefined).

this will throw an error when somebody tries to do a `getListing`, `getAll`, etcetera, without specifying whether they want to read from local or from remote

to do:

<strike>* [ ] change unit tests to also explicitly set maxAge to false</strike>