Fix for issue #27: add explicit socket close on ABORT

Adds a condition handler that traps ABORT signals and allows `ros_relay` and `ros_state` to properly shutdown and close any open sockets. This solves the issue where sockets on the controller remain in WAITING or OPEN state, confusing the ROS client programs (no data coming in, but still connected, while server programs have already been terminated).

Could potentially create conflicts with old versions of `ros_relay` and `ros_state` as I had to introduce a new variable (`shutdwn_req_`).

Tested on simulated and real R-30iA, HandlingTool V7.70

It adds a *condition handler* to the *scan table* at the specified position (`COND_AH == 1` in this case). The scan table is *scanned* every `$SCR.$COND_TIME` ms (default value depends on type of robot and controller, but is 8 or 12ms for most robots). The `WITH $SCAN_TIME = ..` clause delays the actual evaluation of the handler's *condition* (`ON ABORT` here) to be about every `$SCAN_TIME` ms (256 in this case), instead of every `$SCR.$COND_TIME`.

For many signals, you'd want as small amount of latency as possible. But for this signal, which is just handling some human input, that is not really needed. Hence the explicit `$SCAN_TIME` clause.

See also section 6.1.1 *Global Condition Handlers* of the *Karel reference manual*.