Cleans up train latching/unlatching

Cleans up train latching and unlatching. The proc responsible for latching trains only latches a train onto the end of another one - this simplifies the logic a bit. Also gives the player more detailed feedback when a train cannot be latched or unlatched, and adds a verb for turning off train engines.
This was removed as we can tell whether we are the lead engine with a simple check ```if(lead == null)``` so it doesn't make sense to keep track of this extra state which could be set incorrectly and cause bugs.