Update branch (and lots of spec refactoring)

action semantics changed

update -> update_all
update_default -> update

new update action now accepts branch and revision(optional) and resets environments/<branch> to <revision || branch>

update_all is unchanged