Remove unnecessary abstraction.
Allocate target backing buffer via libc.

Since a few target extensions (currently SNAT and DNAT) think it's a
good idea to manage the memory allocated to xt_entry_target themselves,
we can't rely on ctypes buffers for backing it. Use malloc()/free() the
C way instead, so extensions doing a realloc() will keep working.

This fixes #31.
Add DNAT test case.
Update .gitignore.