Don't override allowed-projects

If an author doesn't want a job to be run except on certain repos,
then they almost certainly didn't want those repos to be able
to inherit from it changing only the override-projects setting so
that the child job could be run.

Instead, perform a set intersection any time that more than one
allowed-projects comes into play in an inheritance path, causing
it to become only more restrictive.

Remove the test from test_model which is covered by the new test.

Change-Id: I7695620ac52f2ae076e9a66818c00de1e8cf7066
9 files changed