Refactor the code a little to get parity with the ruby sass iteration. In doing so, I noticed a bug where we were putting the wrong thing in the seen set. When the code was written, the right thing didn't exist yet.
Updated to only try and extend things that have content and will therefore be output later. Added some new debugging prints to help track down recursion issues. Update Compound_Selector printing to match ruby sass.
Let the caller of extendSelectorList know if we extended something. That way, they can avoid an expensive parser call if nothing has changed. The check now is pretty simplistic. It will return false if we didn't do anything in extendSelectorList. We could potentially run the extend algorithm and get the same result and mark that as extendedSomething, but I'd rather not filter out legitimite cases, so let's say conservative.
Merge remote-tracking branch 'origin/feature/extend-support-parser-fix' into feature/perf-integration

Conflicts:
	extend.cpp
Renamed containsAnyExtendableStatements to shouldExtendBlock. Updated shouldExtendBlock to always extend rulesets with placeholders. That's what they're there for.
Implement a better fix for the missing output due to our shouldExtendBlock optimization. Revert shouldExtendBlock to what it was, but update the output step to do the right thing if it finds a block within a block.