Quick fix test for sqlite different thread issue.

Found this solution on a stackoverflow thread.
I'm not sure if it fixes the problem as I can't replicate it
myself.

If you are getting this issue, please test this pull request

git remote add gubatron https://github.com/gubatron/OpenBazaar
git fetch gubatron
git checkout experimental-fix-sqlite-different-thread-issue-654

run openbazaar and let me know if the issue persists, or if now
this is causing even weirder issues.

This is far from the ideal solution, but it might fix the problem.

The right solution might be (if we need db fetched objects on another
thread) having a DB-querying thread which is responsible for performing
all DB fetch operations and keeping the consumable outputs
in a temporary container (dict or queue) which is then consumed by
other threads.
Merge pull request #918 from gubatron/experimental-fix-sqlite-different-thread-issue-654

Quick fix test for sqlite different thread issue. (Issue #654)
Fixing Node Addition UI

This commit adds a notification on the success or failure of adding a
new node. It will still report success if the GUID of an unreachable
store is given.

Fixing typo

Conistency
Merge pull request #932 from VivaLaPanda/develop

Fixing Node Addition UI
use thread locking to serialize all db access

also reenable check_same_thread so we get exceptions instead of crashes,
although that shouldn't be possible anymore with this locking in place

Signed-off-by: Thomas Stilwell <stilwellt@openlabs.co>
Merge pull request #937 from benemorius/db-locking

use thread locking to serialize all db access
Delegate splitting to the KBucket.

* A KBucket should handle the details of its splitting. This
  will enable using different subclasses of KBucket with the
  RoutingTable. It is also necessary to write thread-safe code.
* Test kbucket.splitKBucket.
Add and test MemKBucket.

* Test MemKbucket initialization.
* Test MemKbucket against the superclass testsuite.
* Model replacement cache as a deque.
* Test cache-splitting.
* Test contact replacement from cache.
Protect access to KBucket attributes via an RLock.

* A Kbucket is now a thread-safe object.
Replace TreeRoutingTable by OptimizedTreeRoutingTable.

* Dump splitKBucket inside addContact.
* Some docstring fixes.
* Drop TreeRoutingTable from the testsuite.
* Test removing absent contact should not throw ValueError.
* Add reference to Kademlia paper.
Only return all contacts if count is negative.

* Fix a bug where OptimizedTreeRoutingTable.findCloseNodes would return
  more nodes than requested.
Test addContact.

* Tests ported from the drogulus project.
* Disallow adding self in the RoutingTable.
Test and minor refactor findCloseNodes.

* Tests ported from the drogulus project.
Various style fixes.

* Install pythonic names in kbucket and routingtable.
* Add module docstrings.
* Clarify a condition.
* Drop excessive logging.
* Rename some variable.