Improvements to DataSource.preroll() error handling (CVP2RI-358)

Rygel was not returning appropriate error codes for invalid Range/TimeSeekRange/Range.dtcp.com requests in Live mode.

e.g. In limited-access live modes, a result code of 416 (Requested Range Not Satisfiable) needs to be returned if the Range start is outside the acceptable range. It was returning 404 (Not Found) which is not in-spec.