all: Cleaned up directory structure.

* Put the main module in its own directory, testsuite in another and
  left unrelated stuff in the root directory.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
doc: Added missing docstrings to all ESLog module files

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
pylint: Cleaned up module code to remove all C volations

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
context: Fixed absolute imports

* Was missing absolute_import; added it.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
elasticsearch: Ported requests connection class to requests_futures

* Based heavily off the requests connection class in elasticsearch-py;
  have added appropriate copyright notices.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
tests: Created base ESLogTestCase unittest class

* Edited existing tests to use new abstract class.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
tests: Wrote some tests for async elasticsearch-py objects

* Testing indexing and bulk indexing.  Running queries in async is
  beyond our scope.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
elasticsearch: Made RequestsFuturesHttpConnection pass bulk index test

* Changed return type of perform_request.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
elasticsearch: Partial implementation of Transport class

* Created a Transport (sub)class to manage our async connections,
  since the standard Transport relies on synchronous returns.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
tests: Converted assert statements to unittest framework.

* Replaced assert x == y with self.assertEqual(x, y)

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
tests: Enable using our custom Transport class for async testing.

Signed-off-by: Joe MacMahon
elasticsearch: Fixed Transport and Connection class to pass tests.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
tests: Added a test suite for the Transport class

* Testing connection management (i.e. pruning dead connections.)

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
elasticsearch: Added callback functionality to perform_request

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
tests: Updated async tests to wait for responses properly.

* Get the Future object using a callback with a closure, then block on
  them before running assertions.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
context: Fixed issue where queue would never flush if maxlen was None

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
all: Renamed project to Lumberjack

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
elasticsearch: Deleted old async implementation

* Architecturally broken; new approach needed.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
async: Implemented async with flushing thread.

* Have a single extra thread which flushes the queue on an event or
  every n seconds.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
refactor: Split Context into SchemaManger and ActionQueue

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>