Add support for assembler code in libraries

Fix #195
Quick'n'dirty 1.5 proof of concept

Basically anywhere there's a reference to the hardware directory,
we insert the $ARDUINO_ARCH variable, which on 1.5 is either
'avr' or 'sam', and on 1.0 is empty

Doesn't take into account alternate cores etc; but it does
build on 1.0.5 without modification and on 1.5.6 if you set
ARDUINO_ARCH=avr in your Makefile

Could possibly switch to ARDUINO_ARCH_AVR and ARDUINO_ARCH_SAM
as the IDE does.

Also haven't updated versions/history/changelog etc.
More 1.5 changes
added VENDOR variable

still probably need to work on ALTERNATE_CORES which are built-into
1.5 via build.core
put default output back
prevented the "menu" entry being returned from "make show_boards"