WIP live sim changes. Made a few time-seek/byte-seek bug fixes

The DLNAAvailableSeekRangeResponse () was calling set_content_length()
 on the libsoup response header element, which didn't make any sense.
 Only the real seek response would know what the response size should
 be (when known). This was causing issues testing unbounded range
 requests on active live sources (client would stall waiting for bytes
 never sent).

Changed the HTTPGet processing a little bit. It now checks for an
 already-set content length even if no seek request was included.
 Also added some debug logging to make it clear if/when the size
 is known (as there are cases now where it's not known) and what
 response encoding mode is being used.

Added a to_string() and constructor documentation to HTTPTimeSeekRangeRequest.

Fixed an issue with HTTPTimeSeekResponse. It wasn't prepared to
 receive an open-range byte response (a response without an end time)
 and was calculating its range_length value incorrectly. range_length
 will now be UNSPECIFIED in this case. Accordingly, it now won't set
 the content length in add_response_headers() and it won't include
 the "bytes=" field in the response (DLNA 7.5.4.3.2.24.3 doesn't allow
 an open byte range in the response form of this header)

Change ODIDDataSource.preroll() and start() to allow for 0-byte responses
 and ensured that the total_bytes_requested field is set to int64.MAX
 for live responses.

Changed ODIDDataSource.preroll_live_sim() to correct the range values
 provided in the exception strings (to aid debugging).

Fixed the TimeSeekResponse logic in ODIDDataSource.preroll_live_sim()
 to deal with closed range requests on live sources. It was setting
 the total duration/size when it shouldn't have.

Tested with numerous live scenarios. No remaining stall issues observed.