-freorder-blocks was causing bad code generation too.
Revert optimizations, since they do actually work afterall.
Set ARD_HOME depending on platform

Not sure if SunOS is actually the same as Linux
Get PROGRAMMER variable from boards.txt
Added support for Arduino 1.5.x including submenus for standard boards
Added else statements
Read build.board from boards.txt and define it, as it is also done in Arduino 1.5.x
Always read submenu entry before main one
Merge branch 'master-origin'

Conflicts:
	_Makefile.master