Major changes to reduce size of firmware

Major revision with focus on firmware firmware flash usage:
- removed as much intelligence around calculating vectors as possible from the firmware, added it to the commandline application
- commandline application has a new addVectorsToFlash() function that must be called before sending flash data to the new version of the bootloader
- consolidated page write and page erase functions into a single generic function with single generic USB request to control, moved intelligence on when to use functions to the commandline application
- changed Page Loading from using a long message loading 4 words at a time in usbFunctionWrite, to using just usbFunctionSetup and loading 1 word at a time - saves ~50 bytes of flash but slows programming down by ~1 second because of the inefficient transfer
- misc cleanup of now obsolete functions and comments due to the major changes