Sound modularization

Abstracts away need to provide instanceIDs to stop a sound. Just a name can be provided. soundDatums within a LayeredSoundDatum renamed to soundLayers to better represent function. @kadst43 @BrettASwift 
Has instanceHandle been defined at this point?  Do you mean params[0].soundName?  Is that safe to do to a string?