* add timestamp to transaction assignment
* add reassignment delay to configuration
* refactor to multipipes
* # This is a combination of 7 commits.
# The first commit's message is:
stale transaction monitor and tests
# The 2nd commit message will be skipped:
# simplify logic
# The 3rd commit message will be skipped:
# node will assign to self
# The 4th commit message will be skipped:
# block listens for insert and update
# The 5th commit message will be skipped:
# more test coverage
# The 6th commit message will be skipped:
# test coverage
# The 7th commit message will be skipped:
# test coverage
* stale transaction monitor and tests
* update operation only returns new value
* create votes table and indexes
* initial db call rewrite
* setup votes table in tests
* rewrite election status
* update api tests
* update tests
* bigchaindb set-shards should change 'votes' table too
* Forgot to add change to bigchain.py in last commit
* update test
* move exceptions
* collapse line
* revise test
* remove obsolete test
* remove votelist from blocks
* sharding and replication
* documentation changes
* language change
* more readable assertions
* fix exception
* test exceptions
* remove parameter
* remove loop
* Test Bigchain.get_blocks_status_containing_tx()
exception case
* Test Bigchaindb.has_previous_vote()
* Add missing blank lines (pep 8)
* Group imports
* Move ImproperVoteError into .exceptions.py
* Simplify logic
* Simplify formatting
* Imrpove the docstrings a bit
* Move GenesisBlockAlreadyExistsError
into .exceptions.py
* Remove unused import
* Add missing blank line
* Remove extra blank line
* Group imports from same module together
* Add test for Bigchain.transaction_exists()
Timestamp is now returned in UTC with second precision.
Payload hash is replaced by an uuid4. This allows us to distinguish
between duplicated payloads.
Removed a deprecated test related to the payload hash.
Renamded secondary index payload_hash -> payload_uuid