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 
Doesn't the soundDatum have a stopAllInstances method?  If not, I'd probably add one and just call it here.