distinguish ERROR(ybc) from ERROR(other)

refactored handle_exception for this
handle_exception: refactor `error_kind` into `phase`
Merge branch 'master' into interrupt-and-error-ybc

Conflicts:
	yk (because Interrupt is handled in one place now)
Merge pull request #75 from mvidner/interrupt-and-error-ybc

distinguish ERROR(ybc) from ERROR(other)