Implement compressed bitvectors for Urban, improve save_c

size improvement: with n=20, 88 vs 1664+1656 byte

TODO: still only storing values as integers (indices into the keys)
not as real rhs hash values. Esp. with compressed @V in Urban, and in save_c.
Urban is still wrong, see _test_tables().

Rework save_c methods, store keys (as char*[]) to check for false positives.
Optimize HanovPP/Urban for d == 0, to not recompute the hash twice.
Handle negative G entries, stored unsigned.
Restructure .c/.h a bit, with proper static and line decl.