allow for multiple callback and errbacks
Merge remote-tracking branch 'rustyrazorblade/multiple_callbacks'

patch by rustyrazorblade
Fix response future callback tests

Assertions on callback were being swallowed because result and final
exception are both set by the time result() was called.
Tests for multiple callbacks, errbacks

PYTHON-182
github #214