Make app lifecycle events synchronous.
Make app lifecycle events synchronous.

Tracking events (i.e. for Segment spec) and flush/reset are still
asynchronously delivered to integrations.

Implementation:
We use a `initialized` property to indicate when integrations are ready
to receive events. This flag is set to `TRUE` once the integration is
initialized and we've flushed the message queue.

Once `initialized` is true, any events that have opted for synchronous
delivery, will forwarded instantly to integrations.

hzalaz/analytics-ios,segmentio/analytics-ios,string-team/analytics-ios,djfink-carglass/analytics-ios,segmentio/analytics-ios,string-team/analytics-ios,segmentio/analytics-ios,djfink-carglass/analytics-ios,segmentio/analytics-ios,string-team/analytics-ios,djfink-carglass/analytics-ios,hzalaz/analytics-ios,hzalaz/analytics-ios