MULE-7399: Flows can start processing messages before referenced flows are completely started

_ Adding a new method in MuleContext to let callers to wait until it is started
_ Updating AbstractMessageDispatcher to wait until mule context is started before sending a message
_ Updating tests that need to send a message but never started mule context

Conflicts:
	core/src/main/java/org/mule/DefaultMuleContext.java

Conflicts:
	core/src/main/java/org/mule/DefaultMuleContext.java

Conflicts:
	core/src/main/java/org/mule/transport/AbstractMessageDispatcher.java