Added method to add multiple locations to GeoFire at once

@jdimond - Writing to GeoFire is making our transit Open Data Set practically unusable. We end up writing to the Firebase hundreds of times a second because we can only add one location to GeoFire at a time. This PR adds a new `batchSet()` method which allows you to add as many locations to GeoFire in only one write. I made it backwards compatible with the previous GeoFire version and data structure.

This should significantly improve the performance of our Open Data Set and make it usable once again. Let's sync up on this tomorrow and talk about porting this to the other clients.

cc/ @tonymeng @vikrum