implemented NumPyOS_fread that would standardise all fread calls as well
as NumPyOS_fwrite to unify the fwrites.

Also made multiarray/ctors.c and multiarray/convert.c to use these new
functions.

see discussion in issue #2806
FIX: Issue 2806 - merge branch '2806-unified-fread-fwrite' into bug_large_save