Use Result/Err(()) instead of Option/None to indicate a CSS parse error.
Use Result/Err(()) in Selector parsing.

… get rid of some custom `enum` types for parsing return values.
`Option<Option<T>>` was ridiculous, but `Result<Option<T>, ()>`
make perfect sense.

Also, we can now take advantage of the `try!()` macro.
Fix parsing of `text-decoration: none`

It would previously accept and ignore garbage in the declaration value
after the `none` keyword.
Rename MatchedProperty to DeclarationBlock
Have quicksort take a compare function rather than requires Ord and Eq.
Cloning `DeclarationBlock` is cheap, the declarations are in an `Arc`.
Remove special treatment of UA stylesheet for parse errors.

CSS parse errors are now off by default anyway.
Move UA stylesheet to src/components/style
Fix case sensitivity of local name selectors.
Fix #2802: fix parsing of font-family in @font-face
Dissallow !important in @font-face
Refactor and fix src parsing in @font-face
Make more things private to the style crate.
Take an iterator when parsing selectors.
Merge pull request #3078 from SimonSapin/style-cleanup

Various refactoring and fixes in the style crate