Made ValuePlug::settable() virtual and implemented it correctly for CompoundPlug.

Previously CompoundPlugs were being considered settable even if their children were not - they're now only considered settable in the case that all children are also settable.