Changed with Asif the make system to build recursively for different platforms and variants

Earlier the make system assumed that $(PLATFORM) and $(VARIANT) are defined,
and only built for that combination in the current working directory.

Now we changed this so that if $(PLATFORM) and $(VARIANT) are not set, then
make attempts to build for all PLATFORM/VARIANT combinations.  If PLATFORM
or VARIANT is set, then that limits the combinations make handles.

The actual build takes *always* place in the PLATFORM/VARIANT subdirectory.
"make all" creates the subdirectory if needed, "make clean" attempts to remove it.

Only tested in stm32/build, most probably breaks the builds of libraries
and old test cases at the current stage.  Also the emulator builds break,
but for an apparently independent reason.  Will fix that in one of the
next commits (we hope).
Fix compilation for ellduino emulator

Now succesfully compiles sketch to emulator/ellduino/sketch and
emulator/ellduino/libsketch.so, but neither work under Mac OS X.
Testing needed on Linux
Partial fix to STM32F4discovery emulator build.