Revise hierarchy for databases

Previously all databases in data_dir/chain were lumped in the same
directory. Now they are split up with the raw chain in data_dir/

The application checks if this conversion needs to be performed on
startup and moves the directories to the new locations if necessary.
Resolve #303

The database can be rebuilt now with the --rebuild-index argument, which
will rebuild the database without deleting or re-downloading the
blockchain.
Merge branch 'master' of github.com:BitShares/bitshares_toolkit

Conflicts:
	libraries/blockchain/chain_database.cpp
started integration of delegate network
updating fc
Refactor wallet::get_my_delegates()
Resolve #303

Fix some remaining problems with the solution for rebuilding the database index without redownloading the blockchain.
Merge branch 'master' of github.com:BitShares/bitshares_toolkit
Merge branch 'master' of github.com:BitShares/bitshares_toolkit
connecting to the delegate network
Fix mac, windows, linux builds
Remove deprecated parameter to chain_database_impl::open_database
Improve #409: Add a what() message with human-readable error message

It's still an exception dump, but at least if you look in it, there's a
clear reason why the operation failed.
Close #411: Add debug API with relevant commands

Create a new API category, debug, and migrate the
blockchain_start_simulated_time and blockchain_advance_time calls to it.
Clean up get_info
Resolve #423

Pretty self-explanatory. A flags enum is now used instead of a pair of
booleans.

The only caveat here is that the function takes an int type, due to a
stupid bug in C++ that says that (enum_val_a | enum_val_b) is of type
int and may not implicitly cast back to type enum.
Partial fix for the problem we're having with peers disconnecting and causing us to fork.  Disconnect peers that are idle for more than two block intervals, and reschedule any item requests that we were expecting them to fulfill
Merge branch 'master' of github.com:BitShares/bitshares_toolkit

Conflicts:
	libraries/client/client.cpp
	libraries/wallet/include/bts/wallet/wallet.hpp
Added note to help that assets can only be issued after wallet_asset_create transaction has been included in a previous block.
Fix test broken by renaming of blockchain_start_simulated_time. In general, when renaming API methods, please check regression_tests to see if any tests need to be adjusted as a result of such changes.