Rename signal and add missing on_ready_read signal.

In Qt this signal is implemented in QIODevice, which is absent here.
Textual cleanup.
Add more handling for in-order data. Also pull from reorder buffer.

Also signal new data to the upper layers.
Add readahead handling using some STL magic.

This needs testing, as it's probably wrong.