Simplify Beast error reporting API

Reviews: @ximinez, @howardhinnant
I was thinking of a manual test that called FatalAssert and fail()ed on the next line, so that if FatalAssert didn't terminate, you'd get an assertion failure. And it would have to be manual so you could ensure the message looked right.

Is it necessary? Not really. Would it be valuable? Yes, if we ran it any time we touched FatalError, because it would confirm that it's still fatal. Is it worth the time it would take to write it? Meh.