Refactor BuilderJob: generate a human-readable job name; flatten job hierarchies.
- If a BuilderJob is added to another BuilderJob, the former job is embedded
into latter rather than having two composite jobs.
- A BuilderJob now has a meaningful name which is generated from subjobs' metadata
(build method and related project model item).