Port the grammar to Parsley.  Working, but unfinished.

This is on a separate branch because it slows the test suite down
significantly.  I have pull requests open against parsley to make it
faster, but in the meantime this code is built against a combination of
parsley master and my own branches.

Other grammar improvements:

- Moves #-interpolation into the grammar.

- Vainly attempts to make the set of acceptable string characters more
  correct.

- First-class support for url(); I believe before it would cause the
  entire property to be treated as unparseable.
Bring Parsley branch up to date.

- parse_expression() uses the new grammar.
- Recent changes to master ported: division handling, Number
  refactoring.
- argspecs now support trailing commas.
Finally, the string interpolation test passes!
Make variables in url() work.  Greatly simplify #{} parsing.
Avoid reparsing color literals.
update grammar -- TODO make git ignore the generated grammar and do this smartly
Refactor binary op rules a bit.
Map literals in Parsley, and a few other minor fixes.

- Labels for some of the rules.
- Faux goal_argspec rule to play nicely with parse_expression.
- Wrap ParseErrors in SassParseError.
- Ruby's interp-and-slash test now passes exactly.
- Don't render nulls in an interpolation.