mass commit

too many changes, things I can remember:
 - detect bod reset and prevent normal operation afterwards, instead
   just blink for notification
 - battery level detection, kicks in at about 2.2V on batteries
   (measured using eneloops and all leds on full power: total runtime
   ~3h, warning starts ~1/2 hour before shutdown)
 - helper functions power_led_(on|off|toggle)