rewrote the calendar

The Mayans may get angry, but now the calendar is using only the turn_number as time variable and deriving everything else from there.
You can still change the derived variables directly, but you shouldn't. Instead you should add or remove the appropriate amount of time either in turns or with another calendar object.
If there are things that access the calendar in this deprecated way, they'll have to be changed, but thay may still work even under this system, so maybe making this variables private and adding proper accessors for every each one would be more advisable; but then anything that reads this variables needs to be changed, not just what writes.
I expect the sunrise and sunset functions to work right, but they need specific testing, besides testing everything else ever that uses the calendar.
Hopefully that's all that needs to be done and it was isolated enough.
The cast to int was a floor() before, but then the compiler complained it had floats and ints in the % operator, so something is making the division not return an integer. I don't know enough about C++11 to understand it, so I just made sure I had an int. As far as I know that's implicitly flooring, am I wrong?