blockchain_list_forks now prints "Unknown Delegate" if delegate is
unknown
Fix issue when adding new blocks to database

Previously, if a new block was added which filled a gap between two
chain fragments, the accepted chain was only extended up to the now-
added to them. Now, the chain is extended all the way to the last known
block.
Refactor the push_block call tree

This tree needed to be cleaned up after my changes earlier. Some of the
functions were returning the fork_block_data of the second block from
the end of the longest fork, as a way to get the block_id of the end of
the fork. This was a dirty hack, and now the fork data of the last
block, as well as its block id, are returned together.
Merge branch 'master' of github.com:BitShares/bitshares_toolkit

Conflicts:
	libraries/blockchain/chain_database.cpp
Merge branch 'master' of github.com:BitShares/bitshares_toolkit