Fix some faulty message types
Calendar usage optimizations:

Avoid creating new calendar objects for comparison in game::update_scent

"player_last_moved + 1000" creates a new calendar object (and calls calendar::sync), just for comparision.
Instead just compare the turn numbers, so store the turn as int instead. "player_last_moved + 1000" is still an int and when compared with the current turn, the turn number is used.

Cache season length in calendar::sync

Replace calendar operators with compiler generated ones

Compiler generated assignemnt and copy functions are fine.
This also avoids calling sync for no good reason, one can assume that the assigned object is already synced.

Make sync protected, no need to call it from the outside, the calendar itself will call it when needed.

No sync call in calendar::textify_period, the object is already synced.

Remove calendar::getHour, use calendar::hours instead, because
- it returns the same value,
- it's const correct,
- it's name is consistent with the other accessor functions,
- most importantly: it does not call `calendar::sycn`.
Merge remote-tracking branch 'dda/pr/9905' into merge

Conflicts:
	src/bionics.cpp
Merge remote-tracking branch 'dda/pr/10075' into merge
Merge branch 'master' into merge