Timer Subsystem

Just spinning off useful things I'm writing into pull requests in small, independent chunks.

I did not bother porting Lossless_UDP and DHT over to using this yet as I'm working on replacing the former.