Let guess_encoding try all the possible encodings before making its choice
This way, if by any chance the first one isn't the right one, we can
still try the others. If all luck ran out, we can then properly bail and
leave it up to the caller to handle the situation.