[AE/osxsink] refactor the device enumeration for the osx sink

This refactors the device enumeration in the osx sink out into its own class and unrolls that big for loop a bit. This is all for better readability and code cleaning.

This should not alter the behaviour [tm] but now also shows multistream devices as there own device (adding Stream <number> to the extradisplayname) - those are non working yet. Also the format of the devicename saved in guisettings.xml changes (:stream<number> is added).

Thats why i added the settings update mechanism which should migrate old settings.

This is the preparation for finally fixing multi stream devices and multi source devices (like different airplay targets) which will be done in a seperate PR once this one is confirmed.

@jmarshallnz - sorry i had no chance to split this huge thing up into something which is reviewable :( - mostly its copy paste from the former enumeration loop. Maybe the doxy in the enumerator class can calm down the gods a bit.
Yes - this is a flaw in ca - i also posted about this on the coreaudio dev Mailinglist 2 weeks ago - no Feedback ... You can select streams to be used in audio midi setup - but there is no way for us to determine those settings (at least nothing i tried worked and nothing obvious is there for getting that Information)