TLS: Adding heartbeat functionality.
Oops fixing broken comment.
Clean up heartbeat implementation.

- Fix state table bugs.
- Enable heartbeat messages at any point during connection.
- Support heartbeat requests and responses.
- Rename heartbeatReady to heartbeatReceived; the original name
  was in line with other callback names, but for heartbeats this
  was a bit confusing -- "received" seemed better.
- No tests for this yet.
Copy forge.util.ByteBuffer if given to constructor.
Add docs for heartbeatReceived handler.
Add experimental heartbeat example.