This pass validates each definition individually only taking the information
into account which is contained in the definition itself.
Later passes can rely on the following, and specifically do not need to
perform these checks themselves:
- non synthetic, non abstract services always have a class set
- synthetic services are always public
Processes the ContainerBuilder to validate the Definition.