improved output size of Makefile code

http://forum.pjrc.com/threads/25196-How-to-get-a-little-bit-more-FLASH-room-on-Teensy-3-x
includes some improvements to the arduino build files to ensure the hex file only includes
bits you're actually using.

Basically, it links everything into an archive first, then makes the hex out of that.