Add Subsection About Wallet Programs, Incl. Hardware Wallets

Preview: http://dg1.dtrt.org/en/developer-guide#wallets

The existing Wallet section only covers private key storage. This PR moves that text into a Wallet Files subsection (changing every h3 to h4 and h4 to h5) and adds a new Wallet Programs subsection, giving the document the revised hierarchy:

* Wallets
    * Wallet Programs
        * Full-Service Wallets
        * Signing-Only Wallets
            * Offline Wallets
            * Hardware Wallets
        * Distributing-Only Wallets
    * Wallet Files
        * [Previous text; nothing has been removed]

All the text in Wallet Programs and its children is new.  It describes the essential functions of a wallet program and how multiple programs can work together to fulfill those functions, as in the case of a signing-only wallet.
@saivann GreenAddress.it (GA) does indeed use P2SH---but in order for them to generate a 2-of-2 P2SH multisig address, they have to have a pubkey from your private wallet and a pubkey from their private wallet, so your wallet is actually distributing pubkeys.

In any multisig transaction, you will have to give your co-signers a pubkey. I agree this seems to conflict with the risks identified in the avoiding key reuse, but the risk is probably smaller---you only have to worry about the people you shared your pubkey with cracking ECDSA, not everyone with access to the block chain.  For example, GA users only have to worry about GA hacking ECDSA instead of some random genius hacker.

I'll see if I can make this more clear when we add the multisig wallet subsection.