Refactoring cigarette lighting and esword activation a bit.

* Adding candle, flare and torch to is_hot() proc, fixing energy/blade returning false for it.
* Refactoring cig lighting code a bit, trying to remove duplicated code.
* Refactoring the attack_self() procs of weapon/melee/energy and its children.
* Fixed energy axe suicide code typo.
This won't return children of these objects like the experimental welding tool