JL_STD* vs ios_std* cleanup

Use jl_printf(), jl_puts() etc instead of ios_printf(), JL_PRINTF(), fprintf() etc for consistency.

Make jl_printf(JL_STD*, ...), jl_puts() safe in very early stages of initialisation.

Try to remove miscellaneous ios.c dependencies.
Remaining ios.c dependencies are:
 - flisp/*
 - iostream.jl (and supporting C functions in sys.c) -- uses ios.c to do file IO.
 - dump.c, -- uses ios_mem() for RAM buffers and ios_file() to read/write files.

See detail in commit logs and discussion here:
https://groups.google.com/forum/?fromgroups=#!topic/julia-dev/UlfIRvX0_nw
I've reverted these to the original jl_errorf()
I've also moved the place that init_stdio_handle() is called to be after jl_init_tasks().
This ensures that jl_current_task is set (relied on by JL_TRY) before the jl_atexit_hook()'s shutdown queue loop runs (this relies on TRY).
i.e. the uvlib versions of JL_STD* are now not created until after the point where jl_exit() will be able to properly process them.
-- Note this change is not yet committed