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
* Read ARD_REV from revisions.txt
   * If you can come up with a better way to read it, then please let me know
* Removed ARD_MAIN as it is was not used