Fix installpath for docs caused by misuse of automake

This fixes a long standing (personal) mystery in automake. Automake
isn't terribly smart and doesn't strip whitespace at the end of lines.
That means that after evaluating this line:

    wibble = foo bar baz # this is a comment

the value of wibble is "foo bar baz "

*sigh* This was introduced in c6e74d4, which was probably copypasta'd
from God knows where.
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
This should enable building on fishhook, sort of

I say "sort of" because fishhook has a deficient version of autoreconf,
meaning that in practice you run autoreconf on your workstation and then
rsync the repo to fishhook for the configure and build. -_-