Add defaults when `json` is null or empty

This ensures the change events fire for each property when the
working and upstream trees are updated.

Fix #168, fix #170
Add promiser reset before each spec run

Required update to promiser 0.2.2. Fix #217