Several changes, currently fails execution

Constant timeouts, wait to merge into master
* Make variable naming in setStrictPolicy more intuitive
* Add method to write zeroes to the Arduinos
* Add support to write zeroes as words instead of pages
* Add hardcoded hex file to MainActivity
debugging
#31 Add new features, fix bugs

Hex.java:
* Add javadoc.
* Change getLines to return -1 when out of bounds.
* Add getDataSizeOnLine to get the length of data bytes on line.
* Add checkBytesOnLine to verify read data and data in hex file.
* Add logging for debugging.
* Fix various bugs.
* Add two static methods to convert bytes into string, formated as hex.

STK500v1.java:
* Various bug fixes.
* Add more logging and change excisting.
* Add a new way to erase the chip.
* Ignore sendParameters and sendExtendedParameters since the optiboot
is ignoring these.

MainActivity.java:
* Add new bluetooth device.
#31 Change load address

Change loading address. Sleep 5 ms after writing data.
Clean up

* Move programming instructions from constructor to separate method.
* Fix logcat method names
* Add stop readWrapper method
Change loadAddress, remove sleep

Hex.java:
* Change checkBytesOnLine method to avoid out of bounds

STK500v1.java:
* Remove sleep
* Add progress to check progress on uploading hex.
* Change the way loadAddress works. Have to divide on 2 to get right
load address.
Restart Arduino from Android #32

Restart Arduino from Android.
Remove temporary method.
Create programUsingOptiboot public #33

Remove programUsingOptiboot from constructor.
Change uploadFile #34

Change how many bytes the uploadFile can upload, fixes #34
Change javadoc.
Remove unused code.
Move methods out from constructor, closes #33 and #35

Change programUsingOptiboot to return a boolean value.
Change readWrittenBytes to public, closes #35
Create a public method to terminate readWrapper, closes #33
Remove unused hex files in MainActivity
Remove duplicated methods

Remove terminateWrapper and change stopReadWrapper to public.
Remove unused code and clean up.
Add documentation.
Optimize hex parser #37

* Optimize splitHex method. Save input data array and parse throug this
instead of running recursively.
* Minor bugfixes.
* Add javadoc
* Add data array with over 600 lines, almost 10 000 data bytes.
Add methods to restart the wrapper and check if it's running. Make getProgress synchronized.
Add enum for communicating protocol state