Fixed Box::canPromotePlug( readOnlyPlug ) to return false.

Read only plugs cannot receive input connections, so trying to promote one is destined to fail.
Fixed Box::canPromotePlug() to check child plugs too.

The plug in question might appear promotable by itself, but a child could still be read only, or not accept inputs.
Fixed bug in read only Plugs with input connections.

They would throw when the value was being transferred through the connection. Readonlyness now only prevents the setting of static values on plugs, and has no bearing on setValue() calls made during computation or while propagating values through connections. This is reasonable because in the latter cases, no modification is made to the plug - the values are all stored in the cache instead.
Removed unnecessary include from PathFilter.h.
Enabled input connections to PathFilter "paths" plug.

This allows it to be promoted to box level, be driven by expressions etc. It's feasible for a very nefarious user to drive it with an expression which varies based on the "scene:path" context entry, in which case descendant and ancestor queries would be inaccurate, but a user that nefarious deserves what they get.

Fixes #704.
Added Gadget setHighlighted/getHighlighted methods.

These match the equivalent methods on the Widget class.
Implemented highlighted drawing for StandardNodule.

It was already doing this, but using a private m_hovered member variable rather than the public status.
Moved node selection highlighting from StandardNodeGadget to GraphGadget.

This reduces the amount of signal handling needed to keep the highlight status up to date, and means other NodeGadget implementations would have one less thing to worry about.
Removed explicit selection handling from BackdropNodeGadget.

It just uses the highlighting state now that that is kept in sync with the selection by the GraphGadget.
Added pre-selection highlighting for GraphGadget.

As the user drags out the selection rectangle in the node graph, nodes are highlighted to indicate whether or not they will be selected. This makes it clearer what is about to happen, and avoids ambiguity about whether it is wholly enclosed or merely intersected nodes that will be selected.

Fixes #94.
Merge pull request #725 from johnhaddon/pathFilterPlugPromotion

Path filter plug promotion
Merge pull request #726 from johnhaddon/nodeSelectionPreHighlighting

Node selection pre-highlighting
Merge pull request #718 from johnhaddon/readOnlyPlugPromotion

Read only plug promotion fixes