Fix: wait for interrupt sleeping
Pin abstraction layer for improved program portability.

    - A0..An, D0..Dn and LED as pin identifiers in board.h
    - PinAnalog: analog object initialization and sample
    - PinOutput: digital output pin
AVR pin abstraction low level implementation.

Conflicts:
	os/hal/platforms/AVR/adc_lld.c
	os/hal/platforms/AVR/adc_lld.h
Arduino board type with demo. Arduino Nano compatible.

Conflicts:
	boards/ARDUINO/board.c
	boards/ARDUINO/board.h
	demos/AVR-Arduino-GCC/Makefile
	demos/AVR-Arduino-GCC/chconf.h
	demos/AVR-Arduino-GCC/halconf.h
	demos/AVR-Arduino-GCC/main.c
	demos/AVR-Arduino-GCC/mcuconf.h
	demos/AVR-Arduino-GCC/readme.txt
GCC/AVR/time.h
Replaced AVR PAL asm code with c code
DS3231 device. Time, alarm and temperature.
AVR RTC lld using a timer.

Conflicts:
	os/hal/platforms/AVR/platform.mk
AVR: Configurable use of timer based RTC
DS3231 various fixes.
AVR rules.mk

Conflicts:
	os/hal/platforms/AVR/i2c_lld.c
DS3231 rtc_lld.h
GCC AVR rules.mk with size
AVR pal configuration as ROMCONST
AVR ROMCONST with __flash modifier
chprintf with ROMCONST format string
main thread name in data memory
Fixes various cherry-pick conflicts.
analog pin sampling fixes