Fix .d file creation, separate module folders

Right now all .c file get compiled into the same folder: $(BINDIR).
The only exception are the user modules.
This is prone to naming clashes for different modules.
A prime example is the file "config.c" in the module config.

This diff separates the .o files per $(MODULE) subfolders in $(BINDIR),
e.g.:

```
...
├── lpc_common.a
├── msba2_base
│   ├── board_common_init.o
│   ├── board_config.o
│   ├── board_init.o
│   ├── lpc2387-timer3.o
│   ├── msba2-cc110x.o
│   ├── msba2-ltc4150.o
│   └── msba2-uart0.o
├── msba2_base.a
├── sys
│   └── chardev_thread.o
└── sys.a
```

Further this patch fixes the creation of .d files. The patch enables the
creation of fresh .d files instead of using stale ones.

The patch was tested by compiling hello-world for all boards and
comparing the file sizes with and without he changes. The resulting
binaries were only tested for native.