New crud syntax

A *HYPER*-important point: the naming convention in onRequest has changed. It's no longer a "request" object that has "options" but a "config" object that has "request" (imo that reflects the reality a bit better, since the original "request" was not a request in the same sense as it is in fortune). Because of this some dependent code might break