Check for mixins using parsed object model

In particular, :not() is not a mixin.
Properly expand &s in nested selectors

& can be used to insert the parent selector anywhere.
Nested selectors will also expand every possible permutation of commas.
See http://blog.slaks.net/2013-09-29/less-css-secrets-of-the-ampersand/
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
Properly expand multiple &s

A single child with two &s should expand to every permutation of parent
selectors.

The unit test now passes! :clap:
Add another test case
Improve nested mixin handling

Skip selectors in mixins for unused CSS.
Show mixin name only for tooltips.
Handle rules within media queries

Nested rules may not have a direct parent RuleSet.

This also affects Unused CSS, which should not recognize & warn about
rules inside media queries.

Includes test case.
Don't block UI thread on retry
Add test cases for nested mixin handling
Merge branch 'less-selector-expansion' into use-strict-completion
Add more Node.js module utilities

Tests coming soon...
Make module resolution more closely match Node

Read the source, Luke!
https://github.com/joyent/node/blob/master/lib/module.js
Steal Node's module resolution test suite

This code now works, thoroughly. :zap: