$FirebaseArray

@jacobawenger just some minor cleanup as we discussed. I did not get rid of $$added/$$updated/et al, after review, these still seem the right thing in the right place, simplified them slightly by adding $$createRecord and keeping as much out of these methods as possible.

- $add/$save/$remove throw error if destroyed (test units added)
 - Added $$createRecord
 - Refactored _list to $list
 - moved $notify to _notify
 - started working on comments (more in another PR, didn't want to get this one too big)

 $FirebaseObject
 - added a check before notifying/updating scope

 utils.js
 - refactored updateRecord to return a boolean if anything changed (no need to iterate values again or use angular.equals)