Refactor to improve implementation of ENABLEAPI command and ForceTwsApiPort option.

Includes the following:

- remove code for handling old API-enabling menu item that was removed in TWS 909, since that
  version no longer works.

- extend the ForceTwsApiPort option implementation to handle the confirmation dialog that TWS
  displays when the API socket port is changed from its current value and API socket connections
  are enabled.

- provide utility functions to invoke main menu items, select configuration dialog items, etc.

- improve diagnostic logging of Swing component structures to give more detail of menu
  structures.

- up the source level in build.xml from Java 5 to Java 7, which is the minimum level for TWS,
  and is needed for some source code constructs.

- move code for handling ForceTwsApPort and ShowAllTrades options to startup.

- ensure gateway's Configuration > Settings menu is not invoked until gateway initialisation
  is completed.

- improve invokeMenuItem() implementation to wait until the menu item is enabled.

- provide a static isGateway() method in IBController and use where appropriate.

- tidy up imports statements.

- improve JavaDoc comments, and other minor tidying up

- introduce ComponentIterator class to simplify code navigating UI structures.
Merge pull request #7 from rlktradewright/Refactor_ForceTwsApiPort_and_ENABLEAPI

Refactor to improve implementation of ENABLEAPI command and ForceTwsApiPort option