Integer cast fix

Fix for : https://github.com/broadinstitute/gamgee/issues/254

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.
please use `auto` in all variable declarations (sort of an unwritten codebase rule -- sorry!)

```c++
auto return_val = -1;
auto end_val = -1;
```

also if you always make your "return" variable the first to be declared in the function, you'll more often get the valuable return value optimization from the compiler. Good habit to get into.