Allow development against a local server.

Split the testing flag into testing and autoFetch so the latter can be enabled
when doing local development against a test server. Also add a command line
flag to control where the state file is placed.
Don't discard messages from pending contacts.

Previously, if a contact was pending, any messages received would
fail to decrypt and would be discarded.
Always create an indicator image.

This change makes it so that we always create the image widget, even if we have
to fill it with a 1x1, transparent PNG. Otherwise it's a real pain to create it
after the fact vs just setting a different image.
Save DH value for pending contacts.

Without this, we forget the DH private that we sent if Pond is closed while a
contact is pending.
Fix Acks.

With the change of Message.Body to a []byte, sending acks broke.
gofmt and TODO updates
Retain key exchange until message received.

Previously it was too easy to complete the key exchange without copying the
outgoing key exchange message. With this change, the key exchange message is
kept until the first message from a new contact is received.
Wrap text in inbox and outbox views.
Add test for sending ACKs.
Add attachments support.
gofmt
Wrap text in outbox messages
Hide password entry.
Typo fix in README.md

Fixes #1
Typo fix in README.md

Fixes #2
Send insensitive until contact has been selected.

Makes the Send button insensitive when composing messages until a contact has
been selected.
Don't signal uiStateMain until setup complete.

Previously the tests could try and inspect the contactsUI, which was setup
after uiStateMain was signaled. This change moves the signal to a point after
those elements have been setup.
Test that DH secrets advance.

This change makes pending contacts persist the current DH secret as well as the
last one so that we can test that exchanging messages causes DH rotation.
Scroll compose TextView correctly.
Add spell checking to compose UI