Fixes #249 - Adds remote program timeout.

Adds env.command_timeout which sets the timeout value for remotely
running commands.
upload_template returns the return value from put (see #629)
Tasks to be executed

Load state.env['tasks'] from arguments
Tasks to be executed : Initialize env.tasks

Initialize 'env.tasks' to empty list.
Tasks to be executed : Doc for env.tasks
Tasks to be executed : Changelog
Small refactor in io.py

- Optimize read when there is no capture made
Added interactive flag to run

- Setting interactive to False propagate the flag down to the io and ensure reads are fast
- This use a codepath that was never used before in the read loop and in which no prefix is displayed
Merge remote-tracking branch 'upstream/master'

Conflicts:
	fabric/operations.py
Remove interactive behavior
First refactor
Tests do pass !
Now read by 4 bytes chunks
Now honors \r\n in network blocks
Useless test
Increase read size
Use two sets of bytes to print/handle interactive because we modify printable bytes
Remove debug logging re #733
Whitespace tweaks re #733
s/bytes/bytelist/g re #733