Use fuel when hyperjumping

For #3019.

It's not particularly nice to use setprop/hasprop/unsetprop to temporarily store the fuel requirement for a jump... although it does mean it still works when you save during the hyperspace countdown.

Also I suppose this logic should really be implemented in the hyperdrive engine equipment code instead of the ship code. I'll make that change if someone (whoever reviews this) asks me to.