Use boost::throw_exception. Refs #2094.
Still some throws left when rethrowing caught exceptions.
Thanks to Richard Smith.