a fault-tolerant distributed lock manager for Go
inspired by
- https://redis.io/docs/manual/patterns/distributed-locks
- https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html
- http://thesecretlivesofdata.com/raft/
- https://medium.com/nerd-for-tech/leases-fences-distributed-design-patterns-c1983eccc9b1
- https://www.golang.dk/articles/benchmarking-sqlite-performance-in-go