Generalize convert for dict

The convert function's second argument can be any associative type, not just another dict, so it should be written more generally.
Merge pull request #8686 from StephenVavasis/patch-11

Generalize convert for dict
fix #8678, reading large files on windows

read() on windows takes a uint, so apply a similar io limit per call
as done on mac (directly reusing the same code would give a compiler
warning, since long is 32 bits on windows)
Merge pull request #8689 from JuliaLang/tk/fix8678

fix #8678, reading large files on windows
Merge branch 'upstream-master'