Unrolled and refactored update_scent() to accelerate waiting, reading, e...

...tc.
Pretty messy, but it seems to have made a quite noticeable difference when waiting/crafting/etc for long periods.  Seems resistant to profiling for some reason.