Allow IPv6 host addresses

Syntax examples:
  fe80::1111:2222:3333:4444
  user@fe80::1
  user@[::1]:2222 (square brackets are necessary for non-standard ssh port number)
Add IPv6 support for rsync project synchronization
Add some IPv6 related comments
Add test coverage for IPv6 related functions
fix typo
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)
porting to py3k: fixed print statements
better py3k porting mantaining 2.5 compatibility
fixed 2.5 print backwards compatibility
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 branch 'master' into 385-ipv6-hosts

Conflicts:
	fabric/contrib/project.py
	fabric/network.py
make denormalize() closer to upstream
add documentation
add changelog entry