remove references to recv instruction from qbi.cpp

this program now compiles and executes correctly again
fix bug w/ Channel::pop() always returning null
switch qbrt_value to use char * for strings

std::string was always just a shortcut to get started anyway. now it
should hopefully be easier to handle strings and string memory
management in specific ways.
rename UvContext struct to be IoContext

also move it from schedule.h to io.h
schedule.h should depend on io, not io on schedule