Wallet

Wallet branch mostly complete, will add some testing changes to it later.
Line is too long. [100/80]