Variant: make qual float and handle missing values

The missing values in htslib are represented as special bit patterns and
the user is given some macros to test if the result they just got is a
missing value or not. While I am not sure that this is the best API for
Gamgee, I replicated that for float just so we can have some
functionality to work with. The final implementation for all other types
(hence the other types of int) is up for debate.

closes #99 
Not sure I like this -- ideally we would have a standard way to represent missing values across gamgee that works with other types like int. Let's discuss our options before merging.

Also, it looks like htslib is using a signaling NaN to represent missing floats, which (if I remember correctly) can very easily get implicitly converted to a quiet NaN if you do any kind of operation on the value. Does signaling NaN == quiet NaN evaluate to true in C? The bit patterns are different... This seems to me like it could cause issues if we're exposing these values directly to the user.