Add callbacks to the local device when links or connections are made or destroyed.

Had to move the definition of struct _mapper_device to
mapper_internal.h in order to make reference to function typedefs from
mapper.h.
Merge branch 'master' into connectcb
Added user_data argument to device-side link/connection callbacks; added signal pointer to connection callback.
Call link/connection callbacks for inputs (receivers) also.
Added function for getting the number of connections attached to a specific signal.
Add local device name to device-stored link properties since we are now using link props in callbacks.
Implement a custom transport mediated by signal/connection properties.

On connection, this program establishes a TCP connection during the
connection callback and uses it instead of msig_update().

Therefore, in this case libmapper is used only to determine the
destination IP and to establish the connection, but it performs no
data transformation or transmission.  Rather, the program specifies
this itself, determined by specifying a custom transport in the signal
properties which are copied to the /connectTo message.
Merge branch 'connectcb' into customtransport
Merge branch 'master' into connectcb
Refactoring callback names.
Merge branch 'connectcb' into customtransport
Use ioctl to set non-blocking mode.

For better cross-platform compatibility.
Merge remote-tracking branch 'steve/customtransport'

Conflicts:
	src/receiver.c
	src/router.c
	src/signal.c
	src/types_internal.h
	test/Makefile.am
Merge remote-tracking branch 'steve/customtransport'
In testsend program, wait for device to be ready before proceeding.