Fixed crash when requesting signal info - rate property was being read as double instead of float; also fixed placement of AT_RATE in mapper_msg_param_t enum.
Changes for compatibility with swig 2.x
Removed infinite loop in query handler.
Removed obsolete num_instances argument in python signal declaration functions.
Removed extraneous variable
Reserve instances for devices in testinstance.py
API simplification: added optional mapper_queue argument to msig_update() and msig_update_instance() functions instead of using separate functions for queued output.
Alphabetized mapper_msg_params
Cleaned up instance managment handler stuff.
Allow instance releases to be queued also.
Reorganization and refactoring of the signal functions in header files and signal.c; removed some old unused functions.
Removed whitespace.
Add queue argument to release_instance function in python bindings.
Removed placeholders for old queue/timetag API proposal.
Working on a major reorganization of the router structure, in order to restore modularity of devices and routers with the new instances functionality. Since I am already rewriting large parts of the router I decided to try to reconcile the timetag/queue functionality with the rate/count changes, and to finish adding timetags to the API as needed. In future commits I will finish working out the rate stuff, this commit focuses on moving signal processing memory from the signal data structure to the router. The routers' conception of a mapped signal has been renamed from mapper_signal_connection to mapper_router_signal; as before this structure contains the connections for a given signal, but now it also contains the signal instance input histories if required by the defined expression.

In order to handle passing vectors of signals to the msig_update() functions and still allow queueing, it will be necessary to build the message bundles in the routers as we go rather than queueing a list of updated signal instances, since we need to pass a pointer to the vector to the device/routers. For this reason, I have modified the timetagging/queueing API such that the user simply passes a timetag with each update/release/query message; this timetag will be passed with the message when sent and the message will be sent immediately unless the use first calls mdev_start_queue() with the same timetag. Queues are now indexed only by timetag, and an arbitrary number of queues can be built simultaneously.
Merge branch 'global-sync' into refactor-instances

Conflicts:
	src/device.c
Fixed allocation and freeing of instance signal histories in router data structures; moved n_connections records to ratour also.
Iterate over vector value updates as necessary - testrate now behaves correctly.
Use OSC blobs to send vector updates - this avoids type-string confusion between instance and non-instance messages, as well as avoiding inclusion of ridiculously long type-strings with large vector updates (libmapper vectors are homogenous anyway...). This required adding a count variable to the signal callback, while I was changing API anyway I also adapted msig_update and handlers to be more alike.
Update all active instances on receipt of non-instance update.