Bug 508665 - part 1, Change the signature of SetParent/GetParent from nsIFrame* to nsContainerFrame*.  r=roc
Bug 508665 - part 2, Move nsCSSFrameConstructor::GetFrameFor to a static function in nsCSSFrameConstructor.cpp.  r=roc
Bug 508665 - part 3, Change GetContentInsertionFrame() to return a nsContainerFrame*, and return null for leaf frames.  Deal with GetContentInsertionFrame() returning null in a couple of places.  r=roc
Bug 508665 - part 4, Make nsCSSFrameConstructor use nsContainerFrame* for frames used as parent frames.  r=roc
Bug 508665 - part 5, Make nsIFrame::Init require a nsContainerFrame* for the parent frame param.  r=roc
Bug 508665 - part 6, Require a nsContainerFrame* for aParent in nsFrameList methods.  r=roc
Bug 508665 - part 7, Require a nsContainerFrame* for aParent in nsFrameManager methods.  r=roc
Bug 508665 - part 8, Move child frame insertion/removal methods from nsIFrame to nsContainerFrame.  r=roc
Bug 508665 - part 9, Remove now redundant static_cast<nsContainerFrame*> and do_QueryFrame() calls.  r=roc
Bug 508665 - part 10, Replace nsMenuFrame::mMenuParent with a GetMenuParent() method to eliminate the need for a SetParent override.  r=roc
Bug 508665 - part 11, Make nsIFrame::SetParent non-virtual.  r=roc
Bug 508665 - part 12, Move nsIFrame::GetChildBox/GetNextBox/GetParentBox to XUL where they came from.  r=roc
Bug 508665 - part 13, Move nsIFrame::IsBoxWrapped to a static function in nsFrame.cpp.  r=roc
Bug 508665 - part 14, uninline nsIFrame::GetPositionIgnoringScrolling() (since it uses a nsContainerFrame method).  r=roc
Bug 508665 - part 15, s/mParent/GetParent()/ in a bunch of nsIFrame sub-classes.  r=roc
Bug 508665 - part 16, Change the type of nsIFrame::mParent to nsContainerFrame* and make it private.  r=roc