Adds ability to program/configure micro-controller RAM, EEPROM as well as FPGA and FPGA Flash.
Fixed erase_FPGA function (now called erase_FPGA_Flash)

It is now calling a function erase_FPGA_Flash_Page which erases a given page and a given number of pages after that.
In erase_FPGA_Flash the erase_Function_Flash_Page is called with page 0 as it is enough to delete the first page in Flash to prevent the FPGA from booting from it.
The erase_FPGA_Flash_Page function itself calls a newly created send_FPGA_Flash_Command function.
This new function can be used to send a Flash command and optionally read the results back.
However the reading back part of the function has not been tested yet (and is not used by any other function for now).