fixing usb and alignment issue
USB core updated for reentrance based on Christian Cier-Zniewski's branch
stm32 F2/F4 gpio_set_af() fix
Adding vendor class definition
remove the support libraries for efm32

i don't plan to extend or support them, and they'll just grow stale
add back minimal support libraries

some of the libraries removed in [1] were essential to building
anything on efm32 (especially, irq.h).

[1] 4a6f4c0f7d62858a4a9afba18f11289cb0bb8358
use _data_loadaddr instead of _etext

this change was done in master in [1] and just merged here.

[1] 74cd991e7e8972cf22933743c847b5ce2b165798
unified vector table initialization

the cortex generic interrupts get moved to lib/cm3/vector.c, the
platorms' individual irq names, initialization and handler prototypes go
to platoform specific irq.h files.

as the vector.c file heavily depends on platoform specific headers, it
can't be built once-and-for-all in lib/cm3/, so there are inclusion
stubs in the various architecture dirs; this might be better solved with
Makefile / include path handling.

one particular file is lib/lpc43xx/vector.c; that platform's
initialization code contains an additional section to copy everything
from flash to ram (which probably performs better there). that code
still resides in the inclusion stub, and gets mashed in using defines.
would need a cleaner implementation together with the Makefile solution.

this commit contains some files of the upcoming efm32 branch, from which
it was cherry-picked.

the .bin files produced from before and after this commit only differ in
lpc43xx, where the startup sequence was subtly modified.
complete peripheral handlers in vector table
add _end and __end symbols for compatibility with code written against CodeSourcery linkers
stm32f1:

Add object files to Makefile to include new modules into lib.

Correct typo in pwr.c

Add two new functions to timer.c to preset the counter (for use
with deadman style timeouts) and to identify an interrupt
source.

Also noticed lib/makefile.include didn't clean lib/stm32, which
isn't a target. Added a fix.
Initial documentation for stm32/usart.c, usart.h
Some minor documentation corrections to timer.h
Additional stm32/usart.c functions to enable/disable Rx/Tx
interrupts, return a status flag and check for interrupt source.
Initial documentation for SPI, I2C and CRC
(no code changes)
fix clean target for example makefiles if the compiler is not in PATH
add the copied ld scripts in lib dir to gitignore
[fix] GCC < 4.5 that does not accept any argument for the deprecated attribute.
Merge branch 'master' into generalizations

Conflicts:
	lib/lm3s/vector.c -- split out to lm3s/irq.h
	lib/stm32/f4/vector.c -- put the floating point initialization code into a function like in lpc43xx
nvic.h factored out (incomplete)
merge irq and nvic code using a script