Merge branch 'output-vector-indexing'

Conflicts:
	src/device.c
	src/router.c
Swig/Python: wait for links to be established before connecting in tests.
Add lib_version to retrievable device properties.
Added option for forcing admin traffic to use the multicast bus for easier debugging.
Disable device link timeouts for now until session recovery daemon is ready.
Don't send subscribe message in response to hash-only /sync message.
Don't edit name string in logout handler before checking if routers/receivers match.
Fixed potential crash in several message handlers where mdev_name() was assumed to return valid value.
Monitor: Request devices to kick things off if autosubscribe is enabled.
Monitor: Ensure only one device callback is registered when changing autosubscription flags.
Re-add monitor functions that take strong arguments instead of db structures, needed for swig bindings in particular since function overloading is problematic.
Removed unnecessary function.
Fixing bugs in handing of instance updates and releases in signal handler.
Add .DS_Store files to gitignore.
Memory profiling: set 'typestring' when processing updates through connections that do not use 'expression' mode; set return type of msig_vector_bytes to size_t.
Clean up output of mapper_db_dump()
Add unknown devices to db when link or connection received - required for later free().
Always use internal count of scopes.
C++ bindings: handle property queries with null results.
C++ bindings: overload device.remove_input/output functions.