Nonblock serial with timeouts and resync for ArduinoDue

This experiment put the serial into O_NONBLOCK mode.  Read calls are routed to a timeout routine.  An alternate resync method replaces "hello".  Retries are included when starting a transaction or resync.  A couple compile errors are cleaned up.

It has only been checked on Arduino Due (host Arch Linux with gcc 4.8.1, Arduino Due 1.5.2 beta).

This is my first github pull request, tell me if I messed up!  Thank you.