Faster building and source code tidyup

This has two commits:

1) use -MMD flag to allow Arduino IDE to use dependencies (.d files) to avoid unnecessary rebuilds

2) Move the variants/libmaple/ source files to cores/libmaple. This avoids having multiple copies of identical files which is a maintenance nightmare. Note: this will work currently as all the cores are variants of STM32F103. To support other cores will require some more changes.