Write hex file #30

* Change hex file to write

* Fix array index issues in Hex

* Replace "catch-all" with ArrayIndexOutOfBoundsException in Hex

* Try getting synch for longer

* Stop spamming synch requests; stop after first success

* Log number of failed synch requests

* Comment out test code trying to read from the Arduino.
  Reading is bugged for now and writing is the priority.

* Erase the chip before programming

* Log failure to erase the chip

* Comment out test code starting to write from memory address 0

* Make loadAddress use little endian

* Add overload for loadAddress passing two bytes directly

* Fix array index issues in programPage

* Make uploadFile return a boolean to indicate success

* Fix array index issues in uploadFile

* Move commented code in uploadFile using the writeFlash
  command to the new method uploadUsingWriteFlash
Merge upstream