title: displayName is not set outside commit changes with completion
body: <p>When setting the displayName for a user in Firebase, the change is being set within the commitChangesWithCompletion block but not outside.  Does anyone know what is going on and how to get the displayName set outside?</p>
  
  <p>The code is in Swift and looks like this:</p>
  
  <pre><code>    func updateDisplayName(user: FIRUser?) {
          let changeRequest = user!.profileChangeRequest()
          changeRequest.displayName = userName    // userName is Gandalf
          changeRequest.commitChangesWithCompletion(){ (error) in
              if let error = error {
                  print(error.localizedDescription)
                  return
              }
              print("userName inside commit: \(user?.displayName)")
          }
          print("userName outside commit: \(user?.displayName)")
      }
  </code></pre>
  
  <p>When I run the code, the second print is called first.
   1. userName outside commit: nil
   2. userName inside commit:    Optional("Gandalf")</p>
  
  <p>When I look later in my code to see if this a latency issue, the displayName stays nil</p>