Added functionality not exposed in public header yet. I would leave to next FCM SDK owner to expose this functionality (and follow any required review process).
Bugs:
72701086
This new delegate method will be called generally once per app start, to always provide a current token. This token may change over time. This simpler method makes integration much simpler, as:
* Developers no longer have to check for a current token using the `.fcmToken` property, and also check for token changes using the `-messaging:didRefreshRegistrationToken:` delegate method.
* There is a single code path for when a token is available, making operations that depend on a token being available easier to implement. For example, this is the right method to always upload your FCM token to your application server, or to subscribe to topics, etc.
This seems to be a holdover from some old code, and it's not being used anywhere in the component. Plus it's better not to be saving anything in `[NSUserDefaults standardUserDefaults]` as that is the developer/app's domain.
Also renamed the messaging code while I was in there to be something meaningful ("000" → "PrintLibraryVersion").
This addresses #125, where a developer is setting `.shouldEstablishDirectChannel` in a background thread, and getting a main thread sanitization issue in Xcode 9.
* Remove mostly unused code from FIRMessagingLogger
This cleans up some left-over old logging logic from before we moved to FIRLogger in Firebase Core. We no longer need this logging functionality.
* Delete FIRMessagingConfig.{h,m}
We no longer need a config class to store an unused log level filter (that filter is no longer needed).