refactored by krystiand
big code refactor
changed serialEvent handling to in place mode
splitted to modules
removed ethernet.h file
changed to UDP version
changed servo to nonblocking mode
prevented opening doors via ethernet without request
added notifications about button state
added notificatoins about door state
added boot delay (with song)
added prevention of false card reading
added timeout for UDP response
cleaning
fixed possible buffer overflow
code size and cleaning
moved reader initialization to function
added SILENT option
added forced door unlocking in case of staying in wrong state
added server pinging
changed debouncing method for reed switch
added door unlocking when opened during locking phase
protected above against unlocking in case of reed switch failure
moved door lock logic to another module
added sounds after long button press
enabled door locking by button
civilised...
added tamper protection
added static declarations in auth module
made use of debounceDelay in button and reed debounce process