refactoring, trying to get dirty-db-slots-mixin working correctly
handle initialization dirty slots so inserts can only send specified columns re ADWolf:#1207
recency and dirty bug fixes
make it easier to pass null explicitly and still get the default value
of *connection-settings* instead of rebinding that to nil

Allows macros to expand to passing nil instead of having to expand
without the arg