added network statistics to jool.
minor changes to ip_statistics
Issue #108. Jool was actually forgetting to update Payload Length; Checksum was correct.
Still, I also refactored a lot of checksumming code, to stop sparse's whining.
Issue #109.
By testing the checksums again, I realized that there's no reason to not update inner packet checksums anymore, and wireshark would judge Jool's packets better if we do.
Therefore, I'm going to refactor Translate a bit again. Checkpoint.
Refactor complete.
Going to adress a TODO and maybe the unit tests; checkpointing again...
Reviewed the sign of a bunch of integers.
Removed 3 TODOs and modularized translate better.
Issue #106.
Not tested. It also propts to simplify the code further.
First revision of issue #41.
There's still some stuff to take care of, but I wanna merge first.
Merge branch 'ip_statistics' into issue108

Conflicts:
	mod/compute_outgoing_tuple.c
	mod/core.c
	mod/packet.c
	mod/translate_packet.c
	mod/ttp/4to6.c
	mod/ttp/6to4.c

Lots of TODOs remain.
Review. Removed a handful of low-priority TODOs, added others due to code analysis.
It looks like a lot of changes, but most of it is just identifier renames.

The more relevant stuff is
- Moved packet fragmentation from 'Translate the Packet' to 'Send Packet', because it feels more at home there. Also, Translate is complicated enough as it is.
- Removed several redundant structures: ipv6_pair, ipv4_pair, tuple_addr.
- Translate routes earlier again. This helps the stats functions succeed.

I haven't updated the userspace app.
Still testing.
Not much to say; I decided to finally get rid of the last #includes of .c's, and most of the commit is bug squashing. Not all the unit tests have managed to pass yet.
The ttp test received a major refactor. The file is now ~800 lines (65%) smaller. Wohoo?
The unit tests passed.
Still some TODOs in the radar, but anyway. Checkpoint.
More bug fixes:
- The module wasn't initializing "send packet".
- added a bunch of SNMP stat updates.
- stat updates fall back to use the original packet if the one being proposed doesn't have a device.
- improved the packet validations a little.
- code wasn't updating timers of existing UDP and ICMP sessions when relevant traffic was seen.
I noticed two glitches:
- If the last fragment had less than a byte of payload, Jool would fail to realize the packet was complete.
- on zero-checksum UDP IPv4 packets, the checksum would be computed from scratch incorrectly.
Send packet used to both fragment and truncate incorrectly. Fixed.
There were two rb-tree related bugs kind of canceling each other.
Because they complemented each other so well, I don't know if I really fixed anything with this commit.
But it's under better control now.
Looks like we're done testing.
Packet validation now discards not-first-fragments inside ICMP errors, and the userspace app now reports the boundaries of --toFrag better.
3.2.1 is ready for release.
Merging version 3.2.1 into master, hereby makingthe changes official.

Version 3.2.1 is 3.2.0 with issues #57, #106, #108 and #109 fixed.
Issue #107 has been marked as duplicate and postponed to 3.3.0.

rting with '#' will be ignored, and an empty message aborts