Cargo Trains

- Implements a new vehicle framework
- Adds cargo trains

Mostly feature complete. Has a couple of bugs I still need to fix, but thought I'd get it up for code review before dev-freeze.

Sprites pending, and hasn't been added to the map yet.

The change to cards_ids.dm is just so emags remove one of their uses when a vehicle is emagged.

Pretty much all around positive feedback in the thread I posted for the idea: http://baystation12.net/forums/viewtopic.php?f=5&t=10603