test tool: FIX: permit the order different of lists in the case of comparison

some switches return the instruction list of flow_mod messages in the different order.

for example, when a flow entry was installed with the instructions as:

  [
    OFPInstructionMeter(meter_id=1),
    OFPInstructionActions(actions=[OFPActionOutput(port=2)])
  ]

the flow_stats message may return the flow entry with the instructions as:

  [
    OFPInstructionActions(actions=[OFPActionOutput(port=2)]),
    OFPInstructionMeter(meter_id=1)
  ]

this patch makes tester.py ignore the order different.
test tool: FIX: return the transaction id when flow entries were deleted

OfTester._test_initialize() expects the transaction id as a return value of TargetSw.del_test_flow().
this patch gets del_test_flow() to return the transaction id.
test tool: make the message receiving part independent as a class

  - the message receiving part was separated from the OfTester class for the improvement in visibility.
test tool: make the prerequisite part independent as a class

  - 'prerequisite' part was separated from the Test class and the OfTester class for the improvement in visibility.
  - 'prerequisite' part had got to support meter_mod messages.
  - OfTester._test_initialize() is called only when the switch has connected.
  - OpenFlowSw._send_msg() had changed to the public method to be able to send the raw packet.
test