In the original implementation I thought that the `json` package
would set fields to its zero value during unmarshal if the input
JSON had a `null` value for that attribute.
After performing an small experiment I noticed this is not the case.
Thus, I have removed that behavior and now if the json contains
a `null` value for a field this field will be ignored by the
json modifier thus keeping its original value whatever it was.
This commit adds these modifiers:
1. skipUpdates (with unit tests)
2. skipInserts (with unit tests)
3. skipQueries (no tests yet) (and not really working yet)
And handles two situations previously not considered:
1. Updates with no attributes will now return a properly formatted
error instead of returning a syntax error.
2. Inserts with no values will now work on SQLite, Postgres and
SQLServer