Burn bootloader feature.

Added functions flashBootloader and doflashBootloader. These receive the setting of the programmer(protocol, speed, etc) and the board(fuses, lock bits) and execute the commands needed to reset the device and burn the bootloader to it. Due to similarities with flash and flashProgrammer function, 2 functions were intoduced to avoid code repetition. runAvrdude receives the command to be executed and, if on Windows, passes it to winExecAvrdude (previously execAvrdude) otherwise, uses the command as a parameter for a system call. setProgrammerCommand uses the programmer parameters to create the part of the command concerning the programmer definition.