Added support for burning Arduino bootloader and uploading via Arduino protocol

You can now burn a bootloader to your AVR using your chosen ISP with the
bootloader scheme. This burns the appropriate OptiBoot bootloader (mega328p
is the only one tested). Of course you can't choose the ARDUINO programmer to
do this. So far only DRAGON is tested. Once burned (or if you already have an
Arduino with a burned bootloader) you can select the ARDUINO programmer in the
Device.xcconfig file and upload that way.

I also tested that the Arduino IDE can upload using a bootloader burned by
marrinator.