libdeng2: Cleanup
libdeng2|Fixed|Refactor: DerivedRule changed to DelegateRule

Added the concept of delegated reference counting to tackle the issue
of a rectangle rule that has four contained rules that provide others
a way to access the rectangle's four sides.

The problem with the previous solution was that the four internal
rules of RectangleRule prevented reference counting from detecting
when the RectangleRule was supposed to be deleted. Delegate rules do
not hold a reference to their source.