added readTimeout and fixed connectionTimeout

Hi Damian,
after your last merge of connectionTimeout fix I noticed two problem:
1) setConnectionTimeout throw null pointer exception because it must be called after openConnection()
2) connectionTimeout is used only during openConnection, while the correct timeout I need is readTimeout 

I fixed the the two things, can you accept them?

Thank you very much
Santino