Optimize selector expansion

Don't re-iterate the parent selector for each child part
Add empty test project
Add failing unit test

Currently misses the following rules from the first test case:

h1 a:hover,
h2 a:hover,
h3 a:hover,
h1 p:hover,
h2 p:hover,
h3 p:hover
ul,
li,
div,
q,
blockquote,
textarea
td,
input
.foo .bar .qux,
.qux .foo .bar .biz,
.foo + .foo,
.foo + .bar,
.bar + .foo,
.bar + .bar
.foo a > .foo a,
.foo a > .bar a,
.foo a > .foo b,
.foo a > .bar b,
.bar a > .foo a,
.bar a > .bar a,
.bar a > .foo b,
.bar a > .bar b,
.foo b > .foo a,
.foo b > .bar a,
.foo b > .foo b,
.foo b > .bar b,
.bar b > .foo a,
.bar b > .bar a,
.bar b > .foo b,
.bar b > .bar b
Skip selectors that don't end up in the CSS
Remove trailing commas from selector texts

This fixes most of the first test case.

It still fails to catch the following selectors:

.foo + .bar
.bar + .foo
.foo a > .bar a
.foo a > .foo b
.foo a > .bar b
.bar a > .foo a
.bar a > .foo b
.bar a > .bar b
.foo b > .foo a
.foo b > .bar a
.foo b > .bar b
.bar b > .foo a
.bar b > .bar a
.bar b > .foo b