Split github hook ingest and processing

We were taking in the hook and processing the content fully while the
connection to github remained open. This created a long delay and
blocked the thread from continuing, which can lead to timeouts.

This change splits things apart to model gerrit a bit more, so that when
a hook comes in, we minimally validate it and toss it into a queue, so
that we close the connection quickly. A second thread will iterate over
the queue to process the (potential) events.

This change drops handling of ping events, which would validate if the
project is one we know about. A follow up change will introduce project
validation at a higher level.

Change-Id: I463f4b888be056a3e2175ccdab0286d2ef4fa2b2
Signed-off-by: Jesse Keating <omgjlk@us.ibm.com>
diff --git a/tests/unit/test_github_driver.py b/tests/unit/test_github_driver.py
index a088236..ebb5e1c 100644
--- a/tests/unit/test_github_driver.py
+++ b/tests/unit/test_github_driver.py
@@ -17,6 +17,7 @@
 from testtools.matchers import MatchesRegex, StartsWith
 import urllib
 import time
+from unittest import skip
 
 import git
 
@@ -685,6 +686,8 @@
         # New timestamp should be greater than the old timestamp
         self.assertLess(old, new)
 
+    # TODO(jlk): Make this a more generic test for unknown project
+    @skip("Skipped for rewrite of webhook handler")
     @simple_layout('layouts/basic-github.yaml', driver='github')
     def test_ping_event(self):
         # Test valid ping