$firebase objects act like a promise (#247)

Raised in #247 

This is incomplete — still having trouble getting the test to pass. Assuming it has something to do with the way the mock events are being flushed, but the usual way of flushing pending $q promises (`$rootScope.$digest`) doesn't work.