sqerl_rec:gen_*/2 inconsistent API experience

Take a look at these specs:

```erlang
-spec gen_delete(atom(), atom()) -> [string()].
-spec gen_update(atom(), atom()) -> [string()].
-spec gen_insert(atom()) -> [string()].
-spec gen_fetch(atom(), atom() | [atom()]) -> [string()].
```

`gen_fetch/2` is the coolest, because it takes a list of atoms in the second spot and filters by all of those fields. I expected the same API for `gen_delete/2` and  `gen_update/2`. `gen_*/1` functions don't really need this.

I plan on doing this work, just didn't want it forgotten about.