fix (needs more testing) incomplete 'restore position' duet to exceptions on pv.put()
merged changes to instrument