Use Apache license for make files
Remove ALL_DEVICES make variable

This variable wasn't used anymore so I removed it from the makefile.
Reduce supported device knowledge

Previously the build/gcc4mbed.mk and samples/makefile makefiles each
contained an explicit list of the supported devices.  This means that
when a new device was added, these makefiles would have to be updated
as well.

I renamed the device specific makefiles to have a -device.mk suffix so
that the wildcard function could be used to discover all supported
devices.  This means that the developer only needs to add one of these
-device.mk files to the build/ directory and the other makefiles will
automatically know about the newly added device.
Integrate lib build into device-common.mk

Now device-common.mk contains all of the rules needed to build the main
application and all of the mbed SDK libraries for a particular device.
I also pulled variable definitions that don't change between device
types out into the main gcc4mbed.mk. This eliminates the extra
makefiles for the libraries such as lib-common.mk, lib-generic.mk,
main.mk, mbed.mk, etc. Macros are also used in device-common.mk to
setup the build for each library to further reduce code duplication.