Make BLOB encoding binary and fix fallout from that

The main change is to make BLOB use the binary Encoder, not the UTF-8 one, which is in line with other recent BLOB type changes. The rest is the consequences of doing that.

* A new test that is just about inserting into a BLOB in a straightforward way with non-ASCII strings. Existing tests date from the BLOB=TEXT days; they still work, but by avoiding that 8th bit.
* A couple of ITs were inserting Java Strings straight into BLOB columns; add getBytes().
* If a VALUES had a BINARY (not VAR) and a non-BINARY (such as a CHAR), it was casting to BINARY(MAX_INT), instead of VARBINARY(MAX_INT), which doesn't work because BINARY means pad with zeros. It might be better to do this padding when storing rather than when casting, but this fixes it for now.