Added "user" plug to all nodes.

This provides a CompoundPlug where users can safely put any custom plugs they want, without fear of name clashes with existing or future standard gaffer plugs.
Added Box plug promotion API.

Promotion takes a plug on a node inside a Box, creates a matching plug on the Box itself, and uses that to drive the input to the internal plug. Box methods are provided to query whether or not can be promoted, whether or not one has been promoted, and to promote one. Once we have UI support for it this will form the basis for users to build macros/gizmos/thingos.