Modify tests to show Unicode handling regression
rebeccapurple

http://meyerweb.com/eric/thoughts/2014/06/19/rebeccapurple/
Break up the compiler, and a lot of big modules.  Fixes #133.

Compiler is now separate from a compilation, with a frontend class that
tries to preserve the old semantics.

Much nicer.  Ahh.

@option is totally broken, though, which breaks a whole lot of the test
suite as well.
Restore support for @option, albeit a little more strictly.
Fix the repl...  maybe?
Fix an AttributeError in _at_import, and the swallowing thereof.
Clean up @import and SourceFile.

Real files are now identified by their absolute path at all times.  Fake
files are expected to provide some other unique identifier.

Importing now explicitly checks that a found file is a descendant of one
of the search paths, so relative imports can finally work.

The spec rules for deciding when an import should compile to a CSS
@import have been (mostly) implemented.

Also, `@import "a.css", "b.css"` would spit out broken CSS; this is now
fixed.
Fix debug_info and live_errors.

The live_errors code only existed in the only 'compile' method; oops.

debug_info just wasn't being passed in by Scss.  Also, due to changes in
SourceFile, it wasn't being generated for fake files.  I don't mind
loosening that restriction, since hopefully we'll have source map
support fairly soon.
Remove the "shortcuts", which haven't worked in ages.
Fix presence of legacy default vars in the repl.
for...to excludes the upper bound.  Fixes #275.
Convert some deprecations into real warnings, not logs.
Remove magical selector reordering with @extend.  Fixes #269.

Turns out the @extend rewrite was already doing the right thing; the
only things keeping this logic around were a couple old xCSS tests that
expected output in the wrong order.
Merge branch 'two-point-oh-refactor'

Splits the compiler from a compilation run, cleans up the API a lot, and
extracts the old API into a legacy compatibility class.  With that
breath of fresh air, I fixed a few bugs and started throwing warnings
for deprecated behavior, too.

I expected this to be a long-running catastrophic branch (hence the
name), but it actually turned out not too hard.  Now we have a nice base
for 1.3.
Merge pull request #294 from smarkets/speedups-unicode-bug

Modify tests to show Unicode handling regression
Fix teeny oversight in the C block locator's Unicode handling.
Fix a couple oopses on Python 3.
Merge remote-tracking branch 'Kronuz/master' into compat_win
Replaced codecs import by io for python 2

(had line break issues on win32)