Reorganize

There are no code changes in this branch, just moving existing things around.

I am trying to reach the following state:
* bitcoin/ - Core blockchain consensus types & library configuration
* bitcoin/utility/ - Generic things that might be useful to any project. Nothing in here should be Bitcoin-specifc.
* bitcoin/math/ - Math and crypto stuff used by Bitcoin.
* bitcoin/network/ - Satoshi p2p protocol.
* bitcoin/wallet/ - Data formats related to Bitcoin, but not part of the blockchain.

The goal is to achieve the following dependency graph:

* bitcoin/utility/ depends on nobody
* bitcoin/math/ depends on utility
* bitcoin/ depends on utility and math
* nobody depends on bitcoin/wallet/
* nobody depends on bitcoin/network/

Things are almost there. There are just a few things in utility (format and serialize) that refer to blockchain types from bitcoin/.