ruby client: always call "reset" even if "abort" hook isn't defined

The previous API is danger because reset isn't called if super in
abort is forgotten. By this change, "reset" is always called even if
"abort" doesn't call super.
doc ruby: add reset hook