fix backtrace printed when cannot get lock.
change lock error handling code so exceptions have useful info and
exception handling in one place.
add test case for when cannot get lock.
port:4:export
port:4:vaportight
port:4:import/export
FIXME: history is wrong here
port:1:1:-:eggs:import
port:1:2:+:eggs:vaportight
port:1:3:+:eggs:import/export
port:0:2:+:spam:export
port:0:1:+:spam:import
port:4:import/export