Add erase page support to flash.py

Add the erase page function to flash.py.
Update gdbserver to detect starting flash address

Automatically detect the starting flash address.  If the address is
non-zero then erase page by page to prevent erasing bootloader code.
Otherwise perform a mass erase.  This patch also removes skip_bytes
from gdbserver since it is no longer needed if the starting flash
address is determined automatically.
Check the return value of flash operations

Check what each flash operation returns.  If it returns failure
(non-zero value) then log it.
Add program/erase page test to basic_test.py

Test erasePage and programPage in basic_test.py.
Merge pull request #63 from c1728p9/master

Prevent GDB from erasing bootloader (flashOffset, programPage addition)