A pure noop action is the main part of the alarm.

None of that 0b1100000000000000 crap.
Allow prepare_action to be called without an alarm_t.

This means we can call it from functions that don't have a relevant alarm_t
reference at hand.
Don't call Py_DECREF(NULL)
Free things after we're done with them
rename stuff back on ctrl+c
Sensible API in headers, and match millis() API
Handle millis() wraparound
Avoid double time sync and premature drift calculation
Actually stop and snooze alarms