Added a placeholder for a plugin loading infrastructure.

This is based on a discussion between Dave MacMahon and Alec Rust
on the CASPER mailing list. A "load-plugin" command is added to the
raw katcp mode of tcpborphserver. This command will load a dynamic
library and add new commands to the server.

Currently it just prints the plugin name (hence place-holder).
Fleshed out the plugin instrasture.

Each plugin must contain an instance of struct PLUGIN (defined
in plugin.h) called KATCP_PLUGIN which itself contains an array
of structs PLUGIN_CMD which define new commands for katcp. The
dynamic loader looks for these and loads in commands appropriately.

Also, changed the load command to "?plugin-load" and added a
"?plugin-list" command which lists currently loaded plugins. There's
also "?plugin-unload" which should remove loaded plugins but this
remains to be written.
Wrote the unload plugin KATCP command.

Also made tracking the number of loaded plugins more robust.
It's still possible however to load a module more than twice, I
need to add a check to make that not allowable.
Moved local variables from plugin.h to plugin.c.

'make' now completes without errors.
Added the -rdynamic flag to the linker for tcpborphserver3.

This makes all symbols global and accessible to dynamically
loaded libraries. Not sure if this is the proper thing to do but
now plugins can be built without linking to the katcp library.
Added support for plugin init/uninit functions.

These are called by the plugin system when the plugin is either
loaded or unloaded and before it does anything else (such as register
commands, etc).
Added an arg_signed_long_katcp function for parsing signed arguments.

This is almost identical to arg_unsigned_long_katcp and it seems like the
hooks were already in place so I just completed the process.
Previous commit had conflicting types for arg_signed_long_katcp.
Fixed a bug in unload_plugin_cmd that was causing a segfault.
Merge remote-tracking branch 'ska/master'

Conflicts:
	katcp/dispatch.c
	katcp/katcl.h
	katcp/line.c

Minor conflicts here due to the name of the arg_byte_bit* functions
changing to arg_bb*.
Merge remote-tracking branch 'davidm/master'

Conflicts:
	tcpborphserver3/Makefile

Small conflict due to plugin.c not being present in the target
dependencies of the tcpborphserver3 Makefile.
Added $(SERVER) to the tcpborphserver3/Makefile "all" target.

It now also produces the regular named binary (as well as the one with
GITVER appended to it).
The plugin system now sends back some debug info when dlopen fails.
APIfy short mainloop selects
duplex code needs to know about pause
Duplex state machine debugging
Async connect support
better parsing of adjacent messages
Added experimental marker
Merge https://github.com/ska-sa/katcp_devel into experimental