wait for the logs are created before finishing the step

There is a race condition between addLogs calls, and the end of the step.

for oldStyleSteps, this matters, because the subsequent addStderr, are only called
at the end of the step, so we must wait for log are created before continuing

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
integration test for trac #2951

add a test for the case which the db is too slow to complete the newLog before end of the step

if I revert previous commit, I get the error reported by benallard

===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/Users/ptardy/dev/bb/buildbot-heroku/buildbot/master/buildbot/process/buildstep.py", line 157, in next
    self._catchup()
  File "/Users/ptardy/dev/bb/buildbot-heroku/buildbot/master/buildbot/process/buildstep.py", line 159, in _catchup
    self.step._start_unhandled_deferreds.append(d)
exceptions.AttributeError: 'NoneType' object has no attribute 'append'

buildbot.test.integration.test_custom_buildstep.RunSteps.test_OldStyleCustomBuildStepSlowDB
buildbot.test.integration.test_custom_buildstep.RunSteps.test_OldStyleCustomBuildStepSlowDB
===============================================================================
[ERROR]
Traceback (most recent call last):
  File "/Users/ptardy/dev/bb/buildbot-heroku/buildbot/master/buildbot/process/buildstep.py", line 135, in gotAsync
    self._catchup()
  File "/Users/ptardy/dev/bb/buildbot-heroku/buildbot/master/buildbot/process/buildstep.py", line 159, in _catchup
    self.step._start_unhandled_deferreds.append(d)
exceptions.AttributeError: 'NoneType' object has no attribute 'append'

buildbot.test.integration.test_custom_buildstep.RunSteps.test_OldStyleCustomBuildStepSlowDB

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
use a hook, rather than time, in the tests
run the hook only in non optimized mode

Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
Merge pull request #1296 from tardyp/t2951

fix for ticket:2951: wait for the logs are created before finishing the step