quartus: add support for qsys generation

When the (new) 'qsys_files' entry under the 'quartus' section is
present, a shell script is created with the necessary commands
generate a system described in a .qsys file.
The approach with first creating a shell script and then
executing that, instead of executing the commands directly from
fusesoc was chosen to keep the build directory still completely
independent from fusesoc once generated.
quartus: make top module name configurable

A 'top_module' entry is added to the quartus section.
To keep compatibility with old cores, it falls back to
orpsoc_top.
fusesoc.in: catch backend.pgm() errors

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
quartus: use utils.Launcher to run "make"

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
fusesoc.in: does not crash when MODEL_TECH not set

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
section: Use pr_warn instead of print
sections: add missing "name" in some class section

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>