Added global 'wait' function to defer tests

This function signals mocha to pause processing files while tests are
generated asynchronously.

For this to work, a few changes were required in the Mocha and Runner classes:

- In the Mocha class, the 'loadFiles' method was refactored to work
  asynchonously.
- In the Runner class, the globals initialization was moved out of the
  constructor into a new method: 'initDefaultGlobals'. This method needs
  to be invoked prior to running the tests, so the runner will take a
  'snapshot' of the global properties.

This commit should also solve issue #362