Dead code/cruft removal in the collation code.

I've also renamed ScopedUtfChars::data to ScopedUtfChars::c_str, by analogy
with std::string (since this method has always been more like c_str than data).

This also fixes a few leaks on error paths.

The old code used to go all the way into native code to return a constant hash
code of 1, so I've removed all that and switched to the idiomatic bogo hash
code (with the idiomatic comment).

Change-Id: I25da8c422155860b5ab348786d369c6c7598135c
10 files changed