tests: common utility functions
generic: make nla2name() and name2nla() class methods
ipdb: completely new transaction mech

Interfaces now have 4 transaction modes:
 * direct: changes go the OS immediately
 * implicit: first change starts transaction; requires commit()
 * explicit: any change goes to the open transaction; requires begin() and commit()
 * snapshot: changes do not go to the OS at all

Nested transactions are *not* possible yet, but multiple — *are*.

Still a lot things to do, but mostly works.