Http timeout

Add the ability to fail HTTP operations that take too long, just like is already in place for PBC. I also added a TimeoutError exception and made sure tht both HTTP and PBC transports will use it, so that you can use them interchangeably.