tcp: fix TCP checksums

1. Include the options field and padding when converting a TCP packet from
record to binary.

2. Include the length of the TCP payload in the checksum

Thanks to Garry Hodgson for reporting the bug!