Add basic functional tests

This pull request implements a functional test client and ports the Python smoke tests to Go. It's not currently integrated with the server, so Simple Push must be started manually before running the tests. Ideally, we'd have a mechanism for creating a `simplepush.Application` instance programmatically; this should be easier once #30 is done.

The tests can be run via `GOPATH="$(pwd)/Godeps/_workspace:$(pwd):$GOPATH" go test -v github.com/mozilla-services/pushgo/client`.

Closes #32. @bbangert, @jrconlin r?
`String()` is only used by `caseTest.Test{Ping, ACK}` to generate a human-friendly message for a failing test; e.g., `On test empty message type value, error writing ping packet...`. This should have an "unknown case test type" fallback like `PacketType`, though...thanks for the catch! I'll also add a comment explaining how `CaseTestType` is used.