Simplify exceptions. Eliminate Durability. Rename Nature to Type and simplify it.

Distinguishing between "local bugs" and "preconditions" was proving difficult in practice, because a precondition failure in one function may very well indicate a bug in a calling function, but the exception may be thrown through that function, thus when caught the classification is nonsensical. The distinction also was not as useful as imagined. So, I eliminated this distinction.
Merge branch 'exception-rewrite'

Conflicts:
	c++/src/kj/common.h