Merge pull request #6 from anchor/remove_cache

Moved caching logic to libmarquise, also corrected a success check in em...
whitespace nazi
Fix up all the type signatures, make gcc happy
Kill serialise_marquise_source in util.c

It turns out that it's broken (classic C), and libmarquise happens to
provide an identically named function. From my observations in gdb,
collector.c was calling libmarquise functions, which then called
serialise_marquise_source(), and it was finding util.c's version of the
function instead of its own. WTF eh?

Better yet, nothing in collector.c is using serialise_marquise_source()
right now, so it was existing purely to poison libmarquise.
Get rid of build_marquise_source, libmarquise something for it already
rewrite build_address_string() to be safe and sane

Functionality should be unchanged, it's just a bit more long-winded now
with all the length checking and safety.
You need #define _GNU_SOURCE on ancient systems