cpu/avr8_common: Rework and add xmega registers
cpu/avr8_common: Rework and add xmega registers

The current context switch and thread stack init don't have a generic
way to save/restore registers for all AVR-8 variations.  This add
defines to check flash/data sizes and rework:

 - thread_stack_init
 - avr8_context_save
 - avr8_context_restore

The new implementation add missing RAMP D/X/Y registers that are used
by XMEGA variations.

The rules to add EIND, RAMP(D,X,Y,Z) register are:

 - EIND must be added if device have more than 128k flash.  This means,
   device can access more than 64k words in flash.
 - RAMP D/X/Y must be added if device have or can address more than
   64k data.
 - RAMPZ must be added if device can address more than 64k bytes of
   flash or data.

With above rules there is no necessity to check by device because it is
mandatory the registers for those MCU variations.

Signed-off-by: Gerson Fernando Budke <0ad1c92223f8f375c46e39c6141096f3d30896b4@gmail.com>

kaspar030/RIOT,kYc0o/RIOT,miri64/RIOT,OlegHahm/RIOT,jasonatran/RIOT,kYc0o/RIOT,jasonatran/RIOT,OTAkeys/RIOT,authmillenon/RIOT,miri64/RIOT,RIOT-OS/RIOT,miri64/RIOT,authmillenon/RIOT,OlegHahm/RIOT,RIOT-OS/RIOT,OTAkeys/RIOT,kaspar030/RIOT,miri64/RIOT,OlegHahm/RIOT,RIOT-OS/RIOT,authmillenon/RIOT,ant9000/RIOT,OlegHahm/RIOT,ant9000/RIOT,kaspar030/RIOT,RIOT-OS/RIOT,ant9000/RIOT,authmillenon/RIOT,jasonatran/RIOT,authmillenon/RIOT,kaspar030/RIOT,OTAkeys/RIOT,OTAkeys/RIOT,jasonatran/RIOT,miri64/RIOT,kYc0o/RIOT,authmillenon/RIOT,OlegHahm/RIOT,ant9000/RIOT,ant9000/RIOT,kaspar030/RIOT,kYc0o/RIOT,jasonatran/RIOT,kYc0o/RIOT,OTAkeys/RIOT,RIOT-OS/RIOT