sw test tool: make the message receiving part independent as a class

the test methods which are in the OfTester class (e.g. _test_flow_install()) are due to be divided and stored in several classes by this patch series.
as a result, OfTester._wait() will be called from several classes.
for ease to reference from each class, the part that receives messages becomes independent as a class, and it holds as a single instance in the module.

the Waiter class, the part that receives messages, takes the following on from the OfTester class:

  - the method that waits for the messages
  - the methods that handle received messages
  - the variables that are used by the above methods
sw test tool: make the prerequisite part independent as a class

'prerequisite' part becomes independent as a class from the Test class and the OfTester class for future expandability.

the Prerequisite class takes the following on from the OfTester class and the Test class:

  - the method that initializes the target switch
  - the method that installs the flow entries
  - the method that confirms that the flow entries were installed correctly
  - the method that parses 'prerequisite' part in the 'test' block of the test file