Allow timeouts to be set dynamically.

I'm not sure which is correct to use here.
```
connection.getSourceChannel().getOption(Options.READ_TIMEOUT);
```
or
```
connection.getOption(Options.READ_TIMEOUT);
```


I think I will merge this for now, however it may change before 1.1 final