Move TCP related code to a separate module

pkt_tcp was created. It doubles the code for computing checksums but
eventually it'll be also refactored.
(Motivated FlowForwarding/LINC-Switch#293).
Add tests for checksum computation in TCP

They are testing pkt_tcp module.
(Motivated by FlowForwarding/LINC-Switch#293).
Extract utilities for testing checksum calculation

The utility functions are now in pkt_checksum_test_utils module.
(Motivated by FlowForwarding/LINC-Switch#293).
Use optimized checksum calculation for TCP

TCP encapsulation uses now more efficient version of calculating
checksum.
(Motivated by FlowForwarding/LINC-Switch#293).
Add type specification for API functions in pkt_{udp,tcp} modules

(Motivated by FlowForwarding/LINC-Switch#293).
Refactor arguments order in pkt_tcp_tests:encapsulate/3

(Motivated by FlowForwarding/LINC-Switch#293).
Merge pull request #13 from esl/checksum_optimizations_tcp

Checksum optimizations for TCP