ipdb: context manager fixes

 * require transactional mode
 * raise an exception on __exit__() -> commit() failure
ipdb: create() improvements

 * invalidate interface on ip.link('add') failure
 * require ifname for create()
 * make create() usable with context managers