first version of a makefile. This is based on the makefile produced by avr studio, but sanitized so we can easily change tool paths, include dirs etc.

Any further changes to the project should also make changes to the makefile in paralell.

The makedep.mk has not been modified and can be copied directly.
flexible directory layout
makefile puts obj/dependency (*.o/*.d) files in OBJ_DIR subdir (defaults tp "tmp")
final files go in OUTPUT_DIR, defaults to "final"
At present, these directories must exist before the build (e.g. the calling shell script.)
Source dir can be specified.

This shold allow a matrix build to operate from the same source, putting obj and output files in separate locations.
updates for diy-shield. RotaryEncoder interrupts need sorting out to match the pins.
fixes for diy shield. Rotary encoder doesn't compile yet.
moved BREWPI_SHIELD_xxx definitions into brewpi.h since they are used by the config, so need to appear before them.
Fixed file path separators in makefile.