Can now connect via service account
Changed the way datastore connections are opened with the datastore

Need to create a datastore connection with a future so that the private
key file can be read into memory.

Also changed handling of timeout on pending transactions