[WIP] Various improvements and bugfixes
- Implement in-process generation (cc #2)
- Backdated flakes (cc #1)
- Persist time for backwards detection (still wip, cc #3)
- Configurable worker strategy (still wip, cc #4)
- Follow system clock by using os:system_time instead of
erlang:system_time (fixes pleroma/pleroma#1681)
- Refuse to generate flakes when the clock is not advancing and the
sequence overflows
- Split up building from Worker to a dedicated module Builder