Added support for synthetic services

Synthetic services doesn't have a definition, they are only accessible using `get()`.

At first, I thought a new constraint was better since this constraint is called ContainerBuilderHas<b>ServiceDefinition</b>Constraint, which does not apply to synthetic services. However, the assert method is `assertContainerBuilderHasService()`, which doesn't talk about definitions specificly. Changing that method name to `assertContainerBuilderHasServiceDefinition()` and using `assertContainerBuilderHasService()` for synthetic services looked like a huge BC break to me.