added option "activate led on darkness" -l, changed led initialisation order, added a bit of ADT for led
a bit of modernisation and introduced run command to execute binary with proper testing options