Add UnableToLoadDeckInput Exception
Move input checking out of checkOptions

Relocates input checking as late as possible so that inputs
to NetTest can be downloaded after instancing a NetTestLoader.
Adds class TestDeck

Provides a container for NetTests and helper functionality to
download and verify input arguments if specified by URL.
Make oonicli download inputs before starting tests.
Get the input processor as late as possible
Make the return value of getInputProcessor be a deferred.
Make inputProcessor setup be non-blocking
Update Unit Tests

Adds a call to the initializeInputProcessor method
Start outlining the oonibclient object.

Write the minimum unittests that it must pass to be complete.
Only run unittests if oonib is imported
Add support for running body_processor
Merge remote-tracking branch 'aagbsn/feature/add_deck_input_fetching' into feature/oonib-support

* aagbsn/feature/add_deck_input_fetching:
  Make oonicli download inputs before starting tests.
  Adds class TestDeck
  Move input checking out of checkOptions
  Add UnableToLoadDeckInput Exception

Conflicts:
	ooni/oonicli.py
Merge remote-tracking branch 'aagbsn/feature/add_nonblocking_inputprocessor_setup' into feature/oonib-support

* aagbsn/feature/add_nonblocking_inputprocessor_setup:
  Update Unit Tests
  Make inputProcessor setup be non-blocking
  Make the return value of getInputProcessor be a deferred.
  Get the input processor as late as possible

Conflicts:
	ooni/nettest.py
Start implementing support for downloading of test decks

The work here was mainly merging together my branch with the one of @aagbsn and
refactoring a lot of the code.
Get all the unittests to pass.
Link TaskManagers by Least Available Slots

A LinkedTaskManager only has availableSlots if its child TaskManager
also has availableSlots. Children LinkedTaskManagers must notify the
parent LinkedTaskManager when a task is complete because the task
queue is event-driven.
Store a cache of input descriptor lookups
Handle more failure types

* Make sure tests will still work properly even if Tor is not running.
Write the number of currently running tasks to a text file
Fix some bugs in unittests