Client library: fix CompareChunkReplicas() return code to ensure that if reflects the last error, if any.
Meta server: change panic on invalid chunk debug logic, to panic only in the case if the chunk belong to logically non empty file, and check permissions when reporting invalid chunks in the case if authentication is enabled.
Client library: RS recovery: pass chunk size from the reader to RS striper in order to allow better detection of RS block end with sparse files, when the recovery size is less than stripe size.If the end of the data stripe is stripe aligned, see if the end is in preceding stripes. The stripe with the end that isn't stripe aligned is where the end is. If the recovery size is less than stripe size, the read of this stripe might not not return less that recovery size. Ensure that the data stripe prior to the recovered data stripe is *not* selected as bad stripe, as it might define the hole position in the case when the file is sparse.
Test scripts: create test script to test recovery of partial RS blocks with sparse files.