Refactor @at-root to ensure that it works properly with a plain &.

This changes the structure of the intermediate trees a little. Instead
of having the RuleNode nesting resolved entirely in the Cssize
visitor, the selectors are now resolved in Perform, while the nesting
itself is removed in Cssize. This is necessary to make the resolved
selectors consistently available to script &.

Closes #957
Merge pull request #958 from nex3/at-root-refactor

Refactor @at-root to ensure that it works properly with a plain &.
Add delayed evaluation of arguments to support the if builtin.
Make the if() function work as expected.

Only evalaute the corrent argument corresponding to the state of the
conditional.
Merge pull request #934 from nex3/if_with_delayed_evaluation

If with delayed evaluation
Rubocop 0.14.1 compatibility.

Pin Rubocop's version here so we don't get any more unexpected build
breaks.
Handle missing method for readonly environments.
Bubble unknown nested directives.
Add the ability to use @at-root to move out of directives.

Closes #774
Improve the error message when using sass --sourcemap --stdin.

Closes #846
Add a test for using @extend within @at-root.

Also fix a bug exposed by this test.
Support trailing commas in lists and maps.

This also adds the syntax (value,) for creating a singleton list.

Closes #917
Be more liberal in the allowed ordering of var args.

Keyword arguments may occur after the first "...".

Closes #926
Merge pull request #961 from nex3/liberal-var-args

Be more liberal in the allowed ordering of var args.
Merge pull request #964 from nex3/trailing-comma

Support trailing commas in lists and maps.
Add a Map value helper.
Use value helpers in some functions that still weren't.

Closes #952
Merge branch 'at-root-directives'

Conflicts:
	doc-src/SASS_CHANGELOG.md
Make the gem autobuild server respect RC versions.
Fix build breakage.