optimize vehicles, optimize update_scent

combined during a 10 minute wait, both of these accounted for > 90% of instructions during do_turn. Waiting, for me at least, was **hella** slow.

Vehicles (72% of do_turn): ~ 4.2x speedup
  * cache vehicle::parts_at_relative which accounted for 50% of the delay in do_turn
  * link vehicle_part to vehicle_part_info via integer index
  * vehicle_part_info::has_flag takes string or int; string flags are auto added to bitmask, if their usage
      warrants such

update_scent: ( 18% of do_turn, 60% after vehicle fix ): ~ 1.8x speedup 
  * cache results to boolean arrays
  * pre-initialize "BASHABLE" and "REDUCES_SCENT"

Before: http://i.imgur.com/00NoXro.png
vehicle fixes http://i.imgur.com/RtdHwXA.png
vehicle and scent fixes http://i.imgur.com/Lp7pTT9.png

%s are total per runtime, same save approx timeframes; the other functions taking up more % is a good thing. And it definitely feels significantly faster