AudioTransmit API

Implemented api functions for audioTransmit and fixed related errors in functions for muting, unmuting and setting the microphone volume.
Unmuting a microphone which is not muted will cause the gain to be changed, and the SampleDataEvents to stop flow, which causes a disconnect. Calling unmute repeatedly will make it behave as 'toggle'. I think it needs to return if we're trying to unmute it when the gain is not 0. Take care of the case where `microphoneVolume` has been set to 0, and then unmute is called.