Support for external Programmer

I've created a new setting field for upload protocol... the default is wiring ... if user want to use USBtinyISP, the field should be changed to "usbtiny"