Add hotplate menu to kitchen unit try 1

In my quest to make the kitchen usable as a hotplate to heat food and
cauterize, here's my first try.  Needless to say, it's a disaster,
errors out the wazoo.  Not really sure what I'm doing, just hoping
people who can actually code can tell me how to make this work :)
remove tabs, extra parameters

Trying again, still lots of errors.  I always forget how to deal with
"not declared in this scope"
Revert "remove tabs, extra parameters"

This reverts commit 1991d0b497e6d764148fa2fd8f26e912c9b66ba0.
Revert "Add hotplate menu to kitchen unit try 1"

This reverts commit a09796354a85ab96fed25136931d911d6a9bb759.
try 3

Still pretty confused, trying to implement Kevin's idea to create a fake
hotplate and use it.  Couldn't even find UPS mentioned in vehiclle.cpp,
trying code from map.cpp for other parts of kitchen unit.  I have a
feeling this attempt is just gibberish, but who knows.
Try 4, now with 20% less gibberish!

This may be the first code I've added to this PR that isn't just random
scribbles.  It still doesn't work, of course, but it FEELS less moronic.
Anyway, this adds Kevin's suggestions of turning the string of prompts
into a menu and using the code from vehicle::fire_turret_internal to
create a fake hotplate that uses the vehicle's battery.  I think the
menu part of this is functional, but I still don't know how to make it
actually use the fake hotplate.  I also need to figure out how to
declare the extra functions in the menu.  Here's the list of compile
errors this generated, maybe we can get this sorted out.
C:\Documents and Settings\Mason\My
Documents\GitHub\Cataclysm-DDA\game.cpp||In member function 'void
game::pickup(int, int, int)':|
C:\Documents and Settings\Mason\My
Documents\GitHub\Cataclysm-DDA\game.cpp|7303|error: 'drain' was not
declared in this scope|
C:\Documents and Settings\Mason\My
Documents\GitHub\Cataclysm-DDA\game.cpp|7304|error: 'tmp' was not
declared in this scope|
C:\Documents and Settings\Mason\My
Documents\GitHub\Cataclysm-DDA\game.cpp|7305|error: invalid use of
non-static member function 'void iuse::hotplate(game*, player*, item*,
bool)'|
C:\Documents and Settings\Mason\My
Documents\GitHub\Cataclysm-DDA\game.cpp|7307|error: 'refill' was not
declared in this scope|
||=== Build finished: 4 errors, 0 warnings (0 minutes, 8 seconds) ===|
Progress made! (I think?)

Thanks to Kevin's advice this is down to just two errors!  Here's the
list:
C:\Documents and Settings\Barbara\My
Documents\GitHub\Cataclysm-DDA\game.cpp||In member function 'void
game::pickup(int, int, int)':|
C:\Documents and Settings\Barbara\My
Documents\GitHub\Cataclysm-DDA\game.cpp|7304|error: 'tmp' was not
declared in this scope|
C:\Documents and Settings\Barbara\My
Documents\GitHub\Cataclysm-DDA\game.cpp|7305|error: invalid use of
non-static member function 'void iuse::hotplate(game*, player*, item*,
bool)'|
||=== Build finished: 2 errors, 0 warnings (0 minutes, 10 seconds) ===|

The first error I think is being caused because the code is still trying
to give the tmp_hotplate item to the fake NPC "tmp", who isn't here.  I
think this needs to be given to the PLAYER, because if I add in the tmp
NPC the hotplate will looks for items inthe3 NPC's inventory, not the
players.  So now I need the command to give this to the player, which I
can't figure out.
The second error is from me not knowing how to get Cata to "use" the
fake hotplate we're generating.  so far, all my guesses are coming up
empty, and I can't find an example in the code to copy.
If we can iron these two bugs out, I think this will all work!
Add NPC to hold the hotplate

Adds an NPC to hold the hotplate, as I can't figure out how to give it
to the player.  Still don't know how to actually use the hotplate, I've
tried about everything I can think of.
Trying again

Okay ditched the fake NPC and figured out how to give this to the
player.  Also added the got_water = true line to prevent us going to
examine vehicle.  Problem is now that I've given the hotplate to the
player I can't figure out how to get rid of it afterword.  I tried
u.i.rem but couldn't get it working.  Also still can't figure out how to
set the values in iuse::hotplate to make it compile.
Almost there!

Needed to take a break from this for a few days, was getting
frustrating.  I think I almost have it, I'm just missing one value for
line 7304.  Got rid of adding the hotplate to inventory, and I think I
fixed the code for refunding the remaining charges to the battery.  I
think I'm literally 5 letters away from this working, can anyone tell me
what the last line needs to be?
It works!!!

Thanks to the efforts of Kevin and dryad, this actually works!  Now all
that's left is to finish the welding rig part of this, which I'll try
and get committed soon.
Menu polishing

Now that the mechanics part of this works, I can focus on cleaning up
the menu part of it.  Ditched the last of the huge string of yes-no
queries from the old version, now examining the kitchen unit gives us a
nice, neat menu instead.  Also renamed the got_water bool in this
function to used_feature to avoid any confusion, and altered it's
placement in the code order to prevent the examine vehicle menu from
popping up after using the kitchen unit functions.  Now all that's left
is to add in the welding rig code, and finally vehicle-mounted equipment
will be just as useful as carried equipment!
Added welding rig, getting weird bug

So I added in the code for the welding rig, and it kinda works.  The
problem is, it only works if you've dropped an item in the welding rig.
Otherwise, you just get the "you can't do that while onboard!" message
it gives you when you try to examine a vehicle while in it.  Also, if
you do drop an item in the welding rig, it lets you examine the vehicle
even if you're onboard.  I'm not quite sure what's causing this, I'm
probably missing a ; or a , somewhere.  I'll try and look at this again
tomorrow, but if someone could glance at this and see what boneheaded
thing I missed, it would really help.
Fixed welding rig menu

Figured out why the welding rig menu wasn't appearing; I forgot to add
the presence of a welding as a condition to shunt player_examine to
pickup.  With that done, this is finally complete!
Merge pull request #3395 from NaturesWitness/improve-weld-rig

Merge kitchen unit / welding rig improvements.