stm32: ADC peripheral style 1 header unification

This pulls out all the common header definitions for the F1, L1, F4 and F37x
parts.  It's verified against the datasheet for F2 as well, but we don't have
any good F2 test boards or any support for that yet.  (The F2 header would be
_exactly_ the same as the F4 header, so it's a target for a future round of
unification, not this one)

Tested with f1, f4 and l1 examples from the examples repository.
stm32: unify bulk of adc convenience functions

This unifies stm32f1, l1, and f4 convenience functions for adc.  The code
should be useable for f2 and f37x as well, but that needs hardware for testing,
and there was no existing implementation. This is the reason for the
"adc_common_v1.c" name, as trying to put all the different families into the
common file name has become too cumbersome.

All of the deprecated routines have been dropped, they've been marked
deprecated for a very long time now, and porting them seemed unnecessary.

This has been tested on f1, l1 and f4 discovery boards, and is based on some
existing l1/f1 unification code from
https://github.com/karlp/libopencm3/tree/rme_l1_master
gitignore generated stylecheck stamp files
Updates for STM32F429 chip

After a few rounds of review, changes are added to support
additional peripherals of the STM32F427/429
[Style] Don't use editor droppings in files, please.
Deduplication of flash code for STM32F0 and F1.
Extension of code for STM32F1 to allow for dual bank series XL.
Small changes to documentation for F2, F4 and L1 to add a parameter reference.

Tested with STM32F103RBT6
(note: tests show that the PG bit must be cleared after programming, otherwise
a subsequent erase attempt fails. This has been added to flash_program_half_word
for F0 and F1 only. A fix for the other families is not included in this PR.)
Use type suffix to avoid warnings

When compiling with all warnings enabled, some defines can lead to
warning due to missing unsigned type suffix:

warning: integer overflow in expression [-Woverflow]

This fix should not affected behavior at all, since calculation with
such overflows lead to the same actual address when writing to that
location. However, it makes the warning disappear and also defines
the right data type for a memory location.
Fix the stm32f0 evident bugs
fix base adresses in sam3 devices with multiple sram blocks, add nfc section
change interrupt names to be consistent with datasheet
add memory map and irq table for sam3s and sam3u devices
[GENLINK] Updated definitions of memory sizes

Updated according versions of datasheets:

STM32F030 DS9773  v1.0
STM32F031 DS10111 v1.0
STM32F050 DS9262  v1.0
STM32F051 DS8668  v4.0 (updated RAM size)
STM32F071 DS10009 v1.0
STM32F072 DS9826  v1.0

F1, F2 and F3 have no changes and no new datasheets.

STM32F401 DS9716  v2.1
STM32F401 DS10086 v1.0
STM32F405 DS8626  v4.0
STM32F415 DS8597  v4.0
STM32F427 DS9405  v3.0
STM32F439 DS9484  v4.0

STM32L151 DS6876  v9.0
STM32L152 DS8576  v6.0
STM32L152 DS8890  v6.0
STM32L162 DS8669  v4.0
STM32L162 DS8928  v5.0
STM32L100 DS9496  v1.0
STM32L100 DS9821  v1.0
[F0] Updated memorymap.h to meet RM0091 Rev. 5
[F0] Updated Uart module to be compatible wih RM0091 Rev. 5
[F0] Updated RCC module to be compatible wih RM0091 Rev. 5
[F0] Adapted USB to be compatible wih RM0091 Rev. 5
[F0] Add new peripheral Clock Recovery Subsystem  as defined in RM0091 Rev. 5
[F0] Update CRCto be compatible wih RM0091 Rev. 5
[F0] Add new irq's

Be warned that this commit changes names of some old definitions. This may broke old code !
[BUILD] Add build system module makefiles, add README how to use it.