implement IO.(bin)read which accept `:all`

I roughly implemented feature for #2501 and wrote tests.

Sorry but a little dirty implementation to return `:eof` if nothing was read