First pass at this. Untested code. Want it committed before I go to sleep and lose my place.
Adding a transaction() method which returns the connection. This allows using the connection as a context manager for transactions.
Adding more untested code, preparing to implement tests.
Added ngcccbase package. Moved txdb.py into it. This breaks wallet_model.py until I pull from jimmysong.
Merge remote-tracking branch 'jimmysong/master' into txdb
Changing import.
Initial commit of tests.
Pass the first two tests.
Added storage test.
Test retrieval as well.
Issue #13: Make a deterministic wallet

Now with a master key that controls the whole wallet.

Unfortunately, this means that there won't be imports of any other addresses.
However, given the single master key, this will now deterministically make
wallets of every color_set. We now only need to store the master key and the
number of addresses that exist for each asset.

This is, of course, massively convenient. The master key can also make a
cold wallet for colored coins possible. The cold wallet would need the colored
coin definitions and how many addresses of each color exist in order to
make it maximally convenient.
Issue #13: Added back the ability to import loose addresses
Issue #26: Subclass BlockchainState and grab raw transactions from electrum
           in case local bitcoind is not txindexed

This creates an EnhancedBlockchainState in electrum.py.

This necessarily uses blockchain.info to find the height of the txhash
since otherwise, we won't be able to look up any raw transactions in electrum.
Fixed tests.
Removed some commented out dead code.
Merged back from bitcoinx main branch.
Merge pull request #40 from jimmysong/13

Issue #13: Make a deterministic wallet
Merge pull request #41 from jimmysong/26

Issue #26: use electrum for get_raw_transaction
Merge branch 'txdb' of https://github.com/Ademan/ngcccbase

Conflicts:
	meat.py
	wallet_controller.py
	wallet_model.py