Integer cast fix

Modified convert_data_to_integer and convert_data_to_float so that vector_end and missing values

are correctly handled for INT8 and INT16 types. Since vector_end is
(INT8_MIN+1) while missing is (INT8_MIN), check if the dereferenced
value is <= vector_end. If yes, handle as special case and return
INT32_MIN+1 or INT32_MIN.

closes #254