Update gap handlers to return data in more cases
When gap handling is enabled, data should always be returned, barring server error, or an invalid channel name.
Removed the get_last_message tests, as they no longer do anything.
Pulled channel name -> channel selection code out of conn_p_type and into its own object so it can be used by the iterate and the gap handling code.
Worked out the case where requesting data in epochs that it was not available was raising DAQD_INVALID_CHANNEL. It will return a gap filled buffer.
Closes #68 (closed)