Make sure brokers stop their backends on exit

This patch makes sure that a broker stops all of its backend when caling
`self->quit()`. Furthermore, this patch uses `cppa::network_error` instead of
`std::ios_base::failure` and adds a new exception `stream_at_eof` to get better
diagnostic in logfiles.