Refactored StandardGraphLayout::connectNode().

It's going to get a bit more complicated with the in-stream insertion code, so I'm simplifying it a bit beforehand.
Implemented const version of correspondingInput() wrapper.
Improved StandardGraphLayout::connectNode(s) to insert in-stream where possible.

"Where possible" in this case means where there is only a single node to connect, only a single connection is made to it, and where it has a compatible pass-through defined by DependencyNode::correspondingInput().
Updated StandardGraphLayout positioning code to use output connections as well as inputs.
Fixing crashing test.
Implemented automatic placement of new Filter nodes.

Also added a todo describing improvements to the GraphGadget which would make it unecessary for scripted operations to trigger the positioning at the appropriate time.

Fixes #86.
Merge pull request #304 from johnhaddon/inStreamAutoConnectionRebase

In stream auto connection