Redesign listing logic for blockchain_list_blocks

Previously, blockchain_list_blocks listed blocks from the head towards
the genesis, regardless of input. This is not always desirable. To
resolve this issue, we now allow the user to specify the listing should
start at the head or the first block depending on the sign of the limit
of blocks to print.

If the limit is negative, up to |limit| blocks will be listed backwards
from head - first down towards the first block. If the limit is
positive, up to limit blocks will be listed from first up towards the
head.
Merge branch 'master' of github.com:BitShares/bitshares_toolkit

Conflicts:
	libraries/api/blockchain_api.json
	libraries/client/client.cpp
	libraries/fc