Fixes temperature guns for the doubly last time

Makes the temperature projectile get its temperature from the gun, using
a proc used to give the bullet properties based on the properties of the
gun, which can be used with other projectiles for different guns.
Also names the temperature projectile based on its temperature.  500
degrees is not a freeze beam, that's just silly.
Added a return to prepare_shot

Apparently that's important.
Fixes clumsiness with prepare_shot

Thanks Kaze
Merge pull request #817 from AlexanderUlanH/tempgun

Makes the temperature projectile get its temperature from the gun, using
a proc used to give the bullet properties based on the properties of the
gun, which can be used with other projectiles for different guns.
Also names the temperature projectile based on its temperature. 500
degrees is not a freeze beam