Re:Hoverpod support and exo-suit toys

I managed to legit break my repo somehow last time, so once again!


Adds the passenger compartment, jury-rigged laser and full hoverpod support. Passenger compartment is more or less the sleeper without the medical do-dads, which can be placed on all suits. The jury-rigged laser is the normal laser with a nearly triple cooldown and power use that can fit on working-class exosuits.

Also adds the ion "cannon" to the RnD research list. It's just the ion rifle for mechs, not exactly admin-spawn only. Does some other minor stuff with exo-suits, too.

While it compiles nicely and works and all, there are three minor problems;

Hover pods don't have lights. You can turn them on, they don't do anything. The original pods were the same. I have no idea why, because it should behave perfectly fine like every other exo-suit. The hoverpod doesn't general a ion exhaust like jetpacks do - novelty only. There is no support for the occupant in a passenger compartment - or sleeper, for that matter - to let themselves out, as I still was not able to figure out how to give a mob marked as occupant a verb to eject, which would then run go_out.


For Zuhayr's comment's on the last request; can_attach sadly cannot be condensed. It was condensed before, at the cost of requiring anything added to that list to be a combat mech - and a lot of set up is required for the weapons to work. Now the weapons page works similiarly to the rest of the equipment, being on a case-by-case basis with only one outlier.
It really makes no sense to define the exact same proc over and over again for every ```/obj/item/mecha_parts/mecha_equipment```. Define it once in the parent, and then use overrides for the exceptions.