Added FlxSoundGroup for managing volume of music/sfx/speech etc separately, closes #362

I snuck another small modification in here, too. Just making a for loop more efficient.

`FlxSound` now has a group. You can set a sound's group either by adding the sound to the group, setting the group of the sound, or by passing the name of a group to `play()`, `load()` or `playMusic()`.

Presently groups must be added to the `FlxSoundFrontend` by calling `addGroup`.

Example use:
```
// Create a group named "sfx"
FlxG.sound.addGroup("sfx");
// Play a sound effect
FlxG.sound.play("mysound", 1, false, "sfx");
// Set sfx volume
FlxG.sound.getGroup("sfx").volume = 0.5;
```
The point of a group is for managing properties of associated sounds. Just because you no longer wish for a group of sounds to be associated doesn't necessarily mean you don't want those sounds to exist anymore.