Add accessors for ext_dir and create source_dir

This allows to customize paths for directories so that source code can have different layouts. Such as specify which directory are for source code and compile only that one.