Fix for bug in determining range partition boundary value

When the boundary value of a range partition function is determined by
decoding the encoded value stored as the split boundary in hbase, some mistakes
were being made. This problem was seen for nullable varchar columns. The
symptom is crash during compile with an overflowing stack. The problem
was that the buffer provided to the runtime code to decode the encoded value
was laid out incorrectly. The null bytes were interchanges with the var length
indicator bytes. Thanks to Hans suggesting t his fix.

Patch Set 2:
Chaged testcase as suggested by Hans. Also including a new fix.
This is a fix that that salted indexes to be created when the corresponding
base table has key columns of character type. The fix also allows salted index
to be created when the index is created on columns whose column number
in the base table is larger than the number of columns in the index itself.

Change-Id: Id0bd2b187500d283860d0d12ecb9d8d743b429e9
Merge "Fix for bug in determining range partition boundary value"