Issue #46: Document .py files

I've started with just two, blockchain.py and console_interface.py.
Basically puts documentation into each class and method/function.

Also changed how ngccc.py works a bit as to make it a little more
pythonic.
Merge pull request #47 from jimmysong/46

46