Replace String+=String with StringBuffer inside tight network read loop.

This results in much better performance. I see roughly 75sec vs 15min
for a roughly 4MB rpc-reply from a real SRX device. Also CPU usage
is much lower.
BufferedReader.readLine can return null, deal with it gracefully.
Merge branch 'faster_read_loop'