Make more sense of Element::recalcStyle with ASSERTs

Move the clearNeedsStyleRecalc() and clearChildNeedsStyleRecalc() calls in
recalcStyle to allow ASSERTing that the parent style is always up to date and
that we only enter the related functions at the right time.

This exposed a bug in PseudoElement where it claimed it was inDocument 
immediately even before insertedInto() which meant the addToTopLayer call in
createPseudoElement was leaving childNeedsStyleRecalc bits in the tree after
running recalcStyle. The inDocument trick is no longer needed after r161195
where I made PseudoElement go through the normal Element lifecycle.

Review URL: https://codereview.chromium.org/63733002

git-svn-id: svn://svn.chromium.org/blink/trunk@161568 bbb929c8-8fbe-4397-9dbb-9b2b20218538