Issue #6: Rely on blockhash instead of block height for backscanning.

Changed the builder_state table to use the blockhash column instead of height.
Changed the color definition to include blockhash and height.
Removed most instances of height, except to check for orphaned blocks.
Added a check for orphaned blocks in case a color was created in an orphan block.