Many modules have subdirectories. Often these subdirectories should only
be included under certain circumstances. Modules that use submodules
currently need to use this pattern:
```make
DIRS = …
all: $(BINDIR)$(MODULE).a
@for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;
include $(RIOTBASE)/Makefile.base
clean::
@for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
```
This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
- switched to flashing using the programming port
- fixed Makefile.include
- fixes some documentation
- removed newlib nano.specs
- added OSX flashing support
- fixed flasher and port for OSX
- fixed port on OSX
- fixed bossac linux tool
- added license header