OS X changes
Fix bugs in SpikeObject code that were causing crashes.

Cleaning up the code surrounding SpikeObjects seems to have solved two issues:
1) Crashes related to high tetrode counts on all platforms
2) Crashes related to stopping and starting acquisition on OS X

This involved being more careful about buffer lengths when packing and
unpacking SpikeObjects, but also removing an assertion at line 111 of
juce_MidiMessage.cpp, to allow messages of zero length. As long as
another section of code checks for empty messages, this should be fine.
It would be nice to know what exactly causes empty messages to be sent,
but they are so rare, it's unlikely to affect data acquisition if they
are ignored.

Merge branch 'master' of https://github.com/open-ephys/GUI

Conflicts:
	Source/Audio/AudioComponent.cpp