make detection of source dirs more flexible & configurable

new slot `source-dirs` will contain an alist that maps mode into list of directories with
source code.   Right now, there are some hardcoded values are there, but for most project
types, they should be taken from project file...