Adds non-blocking read feature

 - Add a nb_read function
 - Add a nb_read_to_end function
 - Make the kind & desc field of NanoError public (like in IoError)