Add automatic cache clearing based on scope

Table, column, and injectable decorators now take a cache_scope
argument that can be 'step', 'iter', or 'forever'.
Thing with a scope of 'step' are cleared after each model,
things with a scope of 'iter' are cleared at the end of each model year,
and things with scope 'forever' are never automatically cleared.