Fixed bug preventing positioning of nodes within Backdrops.

The collision group mechanism may seem a little more general than is needed for this particular fix, but I believe it has uses down the line, in particular for laying out individual islands of nodes separately before aligning them as required by #155.

Fixes #769.
Removed unreasonable todo item from ComputeNodeTest.

This dates back to a time before contexts were introduced and there was effectively a single global context. Back then each plug actually had a dirty flag, representing whether or not it had been computed for that context yet. That is no longer the case, and the idea of a flag defeats the object of multiple contexts and theaded evaluation.
Improved NodeGraph.frame( extend=True ) behaviour.

It was enforcing a maximum zoom level, which is essential for the extend=False case, but annoying in the extend=True case. If a user has chosen to zoom in a long way, then we shouldn't change that unless it's totally necessary to show the nodes.
Merge pull request #770 from johnhaddon/layoutFix

Fixed bug preventing positioning of nodes within Backdrops.
Added workaround for PyQt/uuid crashes.

Fixes #775.
Fixed pollution of GafferUI namespace with IECore module.

Also added the Gaffer import that must be made before _GafferUI can import (due to order of boost::python::class_ registrations) so that it is no longer for programmers to do that themselves.
Added DirNameParameterValueWidget.

This is a specialised version of the PathParameterValueWidget which filters the file browser so that only directories are displayed.

Fixes #774.
Merge pull request #779 from johnhaddon/dirNameParameterFiltering

Added DirNameParameterValueWidget.
Merge pull request #778 from johnhaddon/uuid

UUID/PyQt crash workaround