Several improvement - needed for Arduino 1.5.x

Improvements include:

* Define ARD_HOME variable depending on platform used
* Read programmer type from boards.txt - arduino, wiring etc.
* Support submenus used by standard boards
* Read build.board from boards.txt and define as a compile time variable