allow shell_execute to take :external_encoding for IO.popen, update #986