Implements more sophisticated explosion animation/sound system

Explosions can now use different art for various situations (ground, water, air, ground target hit, water target hit, air target hit).
Add this function somewhere:
```
///<summary>Bit picks to check if a ImpactType is valid.</summary> 
static bool HasImpactType(ImpactType valid, ImpactType toCheck) 
{
	return (valid & toCheck) == toCheck; 
}
```