Generic iuse function for reading the weather

Conflicts:

	data/json/items/tools.json
	src/item_factory.cpp
	src/iuse.cpp
	src/iuse.h
When all flags are present, weather function displays more information
Added flag descriptions
Swap tile id map with an unordered map for faster lookup.
Change the season lookup logic to modify the id string and continue instead of calling itself with a new argument.
Misc style cleanup.
Typo fix.
Another typo.
Print message when having an asthma attack.

With automatic usage of the inhaler, the player would never know they had an attack.

Also make using the inhaler use some time.
Added thermometer, barometer and hygrometer items but not their spawns
Added spawns for thermometer, barometer and hygrometer
Renamed debug weather tool, made it rarely spawn
And another.
Update 120mm aiming AI to target vehicle center of mass instead of aiming at player.
Don't store pointers to temporary loop variables, makes mutations activatable again.
Go ahead and initialize all of the members of the trait struct.
Fix style issues in mutation activation method.
Merging my own branch, which is bad form, but we simply don't have anyone else to test it.

* dda/pr/9908:
  Misc style cleanup.
  Change the season lookup logic to modify the id string and continue instead of calling itself with a new argument.
  Swap tile id map with an unordered map for faster lookup.
Fixes the @ screen threshold title.  Looks like the vector wasn't getting populated.
Merge remote-tracking branch 'dda/pr/10060' into dda-master

* dda/pr/10060:
  Fixes the @ screen threshold title.  Looks like the vector wasn't getting populated.