Initial msp library implementation with connection state tracking
Improve msp failure handling
Pipe file contents across msp connection
Test connection keep alive and timeouts
Refactor interface addresses to use new socket_address struct
Allow interfaces to use local unix addresses

- broadcast packets are sent to all sockets in the same folder
- switched most tests to use local sockets
Ensure only interfaces that are UP are closed
Generalise method for defining multiple interfaces
Improve tests
Reduce spam of link state packets
Refactor stdio handling
Add command to support forwarding TCP connections to an MSP service
Add tcp forwarding on the listen end of an MSP connection
Deal with errors when binding sockets
Ensure connection is initiated with no input
Fix comparisons for removing mdp port bindings
Add SIGINT handler to cleanup mdp sockets
Add msp debug flag
Merge branch 'msp' into development