More unittests.
Moved the majority of _loop into _one_step

Moving this code allows us to call _one_step whenever a single task
should be executed.  This allows _one_step to be called from the
Callback.call(...) method, fixing the problem with call not being able
to allow other tasks to run when called from the callback thread.  See
the test_call_priority unittest.
Better fix for UnboundLocalError bug.
Removed a None entry from the _requests tuple.

At some point one entry in every tuple in _requests was no longer used
and set to None.  This has now been properly removed.