When pipelines are defined multiple times zuul currently silently uses
the last one which is defined. This is unsafe. Instead stick with the
first found pipeline and add a configuration error. While at it add
the missing start_mark to the pipeline object as it's needed when
throwing an error.
Change-Id: I98637ecd7d4978a803d6131b7cd61da0a74e669f