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.
Merge pull request #718 from johnhaddon/readOnlyPlugPromotion

Read only plug promotion fixes