Rewrite @extend logic.  Add a Selector class.

This passes all the tests, but could use some considerable cleaning up,
documenting, testing/handling of edge cases, etc.
Add LCS algorithm to @extend, and a big ol test file.
Split the Selector class into its own file.
Use Selector objects throughout the compile process.

Required a bit of heavy lifting, but the result is shorter, faster, and
leaves less cruft in the compiler.
Simple testcase for @extend with a common prefix, from #105.
Rewrite LCS algorithm without recursion or a useless class.
Cleanup and documenting of scss.selector.
Clean up @extend code in the compiler; fix multiple-selector case.
Merge the rule reordering into apply_extends, the one place that needs it.

This allows for storing the rule positions and dependencies outside the
rules themselves, so rule.position and rule.dependent_rules are gone.
Hurrah.
Remove TODOs.
Merge branch 'extend-rewrite'