CPython: add err_format() helper
CPython: slightly fix / rework putmulti() to support any iterable

This behaves more like the old puts(), except there is no special case
for dicts.

Also keep a running count of !MDB_KEYEXIST rather than aborting at the
first preexisting key. Now it returns (consumed, added) tuple. If there
were duplicates, consumed!=added.

Fix various error path ref leaks