Prefer Promise.resolve over Promise.cast or RSVP.resolve
Improve watcher logic to stop double builds when build errors happen. Fixes #23