Send messages to multiple recipients.

We replace the to uint64 field in the Draft struct in client.go with two fields of
type []uint64 called toNormal and toIntroduce.  We clean up these fields when a
contact is deleted in client.go as well.  An introduction's size is approximated
in usageString() as well.

We modify sendDraft in netwrok.go to send the messages to every user id listed in
either toNormal and toIntroduce.  All users listed in toIntroduce are introduced
to all users listed in either toNormal or toIntroduce in the sent messages.

We make extensive modifications to composeUI in gui.go to enable composing drafts
to multiple recipients, optionally introducing some by listing them in toIntroduce
instead of toNormal.  We display multiple names on the ride hand sidebar whenever
possible too.

We modify cli.go to correctly report information about drafts with multiple
recipients.  We have however deffered adding the ability to edit drafts tor
multiple recipients until afer the functionality has been debugged more thuroughly.

We leave the introduction functionality in both gui.go and cli.go in tact, but
eventually this should be phased into the compose interfaces, which includes
editing drafts with no recipients in cli.go.

We modify disk.go to support the new Draft struct without changing the existing
protobuf, meaning drafts currently lose information about their multiple recipientsr
when saved.  We address this in a subsequent patch, but seperating any changes
to protobufs seems desirable.
Add a SetChecked action to our GTK support
Simpler introduceUI that employs composeUI for sending introductions.

Adds an information button to explain how introductions work to composeUI too.