From Understanding Genetic Drift to a Smart-Restart Parameter-less Compact Genetic Algorithm