Allow player to retry read in case of read errors

As discussed here: https://github.com/xbmc/xbmc/commit/5c7a19af995b4933595ee9edbee0d6ac768d643d#commitcomment-8220173
@topfs2 @FernetMenta for review
You could not rely on current usage as that's way to introduce more bugs in future. Every function must be written in way it will work in all possible scenarios, not only in "most common" scenarios.

Completely disagree about priorities.
You can't build anything good on top of mess.
Having our basic and cores in disordered state provokes writing of ragged code.
Bugs will always be discovered in code, but fixing core code is healing root of the problems.