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.
* [BUILD] Add build system module GENLINK, update README how to use it.
docs: note dependencies for PDF generation

Probably lots of dependencies missing, these are what I needed _after_
getting regular html docs working.
[BUILD] Fix the correct make behavior if compiling inside tree

On linux, the output of CP rule was try to write to / which is - of course, forbidden for write.

This solution adds to each part of lib correct pointer to the root of lib where the libs should be written.

Bug found by Kuldeep Singh Dhaka.