fix filename detection in clang plugins

SourceManager::getFilename() returns "<stdin>" whenever icecream is used.

Change-Id: I4e3e1b90880c5fd2b53f20e4ce3e38e3a0486973
make it possible to build without the obnoxious forced -j to make

Rework --with-parallelism to not add any extra -j to make if 0
or --without is used. This requires explicit -j usage, which
- builds even compilerplugins in parallel
- builds 'make -C sw/' in parallel (since you don't forget the -j)
- avoids jobserver disabling if -j is explicitly passed to the toplevel make

IMO this is just a relic of the old build system and the option should
be dumped altogether, but I don't feel like arguing right now.

Change-Id: I71479391bcfc84aa5e9fd9696880702da496d45c
make it possible to do 'make -C sw/' even with builddir!=srcdir

The change in partial_build.mk assumes all the Makefile's using it
are in builddir/<module>/ , but that seems to be the case.

Change-Id: Iddc8fa2ec0842f181780f7491cf5a2244efd014a