Better define explosions

Give explosions a source type
have the server compute if the explosion is near or far and play the
correct sounds (the weapon no longer has to do this)