Wallet

Wallet branch mostly complete, will add some testing changes to it later.
`%Q`-literals should be delimited by `(` and `)`<br>Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.