Added support for selecting the audio capture device (fixes #220)
Cosmetic Changes# This is a combination of 5 commits.
Added getDefaultDevice(), added return codes and updated doc# This is a combination of 2 commits.

Fixed documentation error and empty name# This is a combination of 3 commits.
Bugfixes# This is a combination of 2 commits.

Added possiblity to specifi device in start()

Also removed accidental call to onStop() when changing device while recording and renamed some methods.

Bug fixes

Changed some naming. Fixed derived class not being notified about a stop in a special case. The capture device can now only be set with the dedicated method.

Made getAvailableDevices() static

Fixed documentation error and fixed name sometimes being empty

Added getDefaultDevice(), added return codes to start() and setDevice() and updated the documentation

Made getDefaultDevice() static

Renamed getCurrentDeviceName() to getDevice()

Sorted functions, Removed explicit casts and changed parameter type

Cosmetic changes

Fixed bug while saving name

Store device name if setDevice() fails

Rearranged code

Made getDevice() return a const reference