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.
@harding Re: GA, Ah yes, sure! I was referring to how I read "...distributing public keys in order to receive satoshis" (I read "send addresses in payment requests to receive satoshis"). In the GA / offline / hardware wallets examples, the signing-only wallet does both tasks (sign transactions and distributes public keys to the watching wallet), while the watching-only wallet takes care of payment requests and creating transactions.