plog-server: major defragmenter logic rewrite

The main logic was correct except for reference counting.

The new version is the result of a lot of IntelliJ inlining and
manual cleanups.

Stress-tested with paranoid hole detector, no exceptions or detected
leaks after:
- 40M msgs
- 40K sockets
- 50K msg/s
- .1% self-induced packet loss
- payloads between 100B and 1MB
Merge pull request #73 from airbnb/pierre/defrag/fix_leak

plog-server: major defragmenter logic rewrite