Add priority to the data object so it can (1) be used in filter and parse functions in config.js and (2) be indexed by ES. This might not be the best design since, if to be completely consistent with firebase, exportVal() should be used instead of val(). Thoughts?
Implementing the `fields` config option using underscore's pick() and size(). Special care is taken to ensure no crash occurs if the path referenced is a non-object. If you don't feel awesome about bringing underscore in as a dependency, I can shoot you another version of this commit with underscore's pick() and size() implementations copy-pasted and the relevant license file.
fixing stupid typo
On second thought, we /should/ re-update the object even if none of the filtered fields are present. We could encounter the case where a child's field is removed -- in that case, we need to remove that field from its corresponding entry in ES.
fixing bug where flashlight will crash if the path referenced has a primitive value. instead, priority is passed to the filter function, but no longer indexed in ES. this solution is somewhat opinionated, so it will not be merged back into firebase's repo.
Merge branch 'dany/fields'

Conflicts:
	lib/PathMonitor.js