Report job shadow errors to users

The Layout.addJob() method can raise an exception if the job definition
shadows a definition in another repo.  Instead of reporting that as
"Unknown configuration error", give it the full Zuul syntax error
treatment.

This wraps the JobParser in two context managers each of which can
raise a ConfigurationSyntaxError, so make sure that if the outer one
sees such an error from the inner one, it simply passes it through.

Change-Id: I7c6d5c6fa9d6d9329a53cdd98c1e3c38683b38af
2 files changed