Update code for latest toolchain

Lots of simple changes:

  * Fix Makefile and main.c to use non-depreciated includes and syntax
  * Add "program" target to write to uC