Issue #125: ColorValue object

Issue #125: ColorValue object
Issue #29: Unit Tests
Issue #105: System and Integration Testing

ColorValue is now an object that holds data about a colorvalue. It includes:

* reference to the ColorDefinition
* actual value of the color
* label, if any

There are multiple subclasses, of which SimpleColorValue is the one used everywhere.

AssetValue is now an object that holds data about an assetvalue. It includes:

* reference to the AssetDefinition
* actual value of the asset

There is one main subclass, AdditiveAssetValue which is used everywhere.

ColorTarget and AssetTarget correspond to targets of various TxSpecs.

* created colorvalue.py
* added unit tests for colorvalue.py
* refactored colordef.py to use SimpleColorValue
* created ColorTarget (holds address and ColorValue) in txspec
* changed BasicTxSpec to use AssetTarget
* changed SimpleOperationalTxSpec to use ColorTarget
* added unit tests for txspec.py
* added unit tests for blockchain.py
* refactored some of txcons
* got rid of is_monoasset and use is_monocolor exclusively
* got rid of unused is_uncolored
* added unit tests for txcons.py
* fixed unit tests for txdb.py
* moved asset.py and test_asset.py to coloredcoinlib
* changed wallet_controller to use the new AssetTarget
* added unit tests for wallet_controller
* Fixed some bugs in builder.py, particularly AidedColorDataBuilder
* Removed __gt__ for comparable mixin since it's defined in the two subclasses
* Fixed explorer.py to use the BASE_URL
* Removed from store.py get_persistent_dict which nothing was using
* added test_builder, test_store, test_toposort
* Now covers everything except about 5 lines in all of coloredcoinlib
* added tests for services/*.py
* added tests for wallet_model
* added tests for p2ptrade/*.py
* changed p2ptrade to use ColorTarget and ColorValue