Fixed the way Windows usernames are processed by the plugin.
On Windows, some usernames may contain Unicode characters (for example Greek),
which mess up the avrdude command execution. To avoid this, the command is built
using relative paths and then the command string is written to a batch file.
Executing the batch file in the plugin directory causes no problems.
Added debugging verbosity levels

Debug level 1
This level prints out only basic information such as the avrdude command and the output stored in the output file.
Debug level 2
This level prints out all messages that level 1 prints as well as some more information for uploading and communication with the serial ports.
Debug level 3
This level prints out all messages that the 2 previous levels print and also a message for almost every function that is called during program execution. The output of this level is stored in a .txt file that can be found in the plugin folder.
Added avrdude verbose output flag
Merge branch 'Windows-usernames' into dev

Conflicts:
	Codebendercc/CodebenderccAPI.cpp
	Codebendercc/CodebenderccAPI.h
Remove merge statements.
Support uploading with programmer.
Added avrdude verbose flag to programmer upload
Added missing avrdude return value
Added missing code in programmer upload
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.
Minor changes

- Exposed getFlashResult(gets the output of last avrdude command) to Javascript.
- Added a function which detects which serial port was added/removed (debugging).
- Minor code parts added/replaced.
Handle short path failure for Windows.

On Windows, the short path of the plugin is used when flash or burning bootloader.
If the function that generates the short path fails, return an error code to Javascript.
Changed the error code handling.

When an error has occured while validating flash input, send the corresponding
value to Javascript(invokeAsync), instead of simply using the error as the return
value of the function. Values -1 to -3 correspond to certain messages and values -4 to -21
indicate a specific flash/flash with programmer/flash bootloader parameter was invalid.
Added missing callback return statement
Write all output to out file when burning bootloader.
"Changed plugin version to 1.6.0.1"
Merge pull request #15 from codebendercc/dev

Merge dev branch to master branch