Currently, in the pandas engine we re-authenticate and re-create the client objects each time the magics is run. Authentication especially can take a while. Let's cache the client objects we create and use those (unless the user asks us to re-authenticate / change billing projects).