Release script still needs work apparently
Changelog format fix
Attribution to that jerk @offbyone in 1.6 changelog
Merge branch '1.6' into 1.7

Conflicts:
	docs/changelog.rst
Add troubleshooting doc
Merge branch '1.6' into 1.7
Add minor releases to changelog description
Merge branch '1.6' into 1.7
Cleanup in /tmp

TestIsLink did not clean up after itself.
Print out end of expected and actual test output more clearly
Remove unused _buffer from OutputLooper
Avoid eating too many newlines

Stripping stdout and stderr buffers removes all intentional
newlines at the end of the output as well. This reverts this
change in order to facefully return stdout and stderr.
Fix password prompt removal from stdout/err capture buffers

The capture parameter to the OutputLooper is passed by reference. The
try_again case in the OutputLooper which removes try-again strings from
the capture buffer must do the removal in-place, i.e. not replace
self.capture with another object.

Moreover, password promps have trailing newlines. These were not
removed from the capture buffers at all.
Synchronize output handler threads to avoid garbled output

Fabric is creating threads for each channel of every ssh connections. Each
of these threads is printing the outpout received from the remote but the
printing is not synchronized. This results in garbled output, for instance
if thread A is printing the "<hostname> out:" prefix while thread B is
printing the output of the remote command both printouts could be
shuffled.

Ecpected behaviour: Each thread should exculsivly print prefix + output
without being interrupted by another thread.

Synchronizing with multiprocessing locks to avoid garbled output.
Output multi-line run/sudo commands correctly
Substract prefix length from pty width in run() output
Avoid hanging output lines which might corrupt synchronized output
Prefix host specific error messages with [host] prefix
Parallel execution: Handle NetworkError exceptins in child process

Python Exceptions thrown in the child process are obviously handled
by the multiprocessing lib that is showing a traceback. The handler
of the NetworkError exception in tasks:execute was not receiving the
exception

Since we don't want to see the trace we are handling the exception
in the child process, showing an error.

For the reason of backwards compatibility env.use_exception_for['network']
is evaluated in the same manner as in tasks:execute.
Fabric tasks: Adding a summary of hosts succeeded and failed

Per task there will be summary indicating on which hosts the task
has succeeded or failed.

Meant for getting parsed by a tool connected by a pipe.