Cleanups and surface reduction:
* Don't use friendship unless needed
* Trim down interfaces
* Make classes feel more like std containers
Remove unused transaction code.
Handle BIGNUM conversion failure