Merge pull request #382 from XhmikosR/master

Bump nock to v0.50.x.
Fixes #383 - decimal places and rounding.

* Introduced by #380. Should fix it for good.
Fixes #385 - edge cases in processing cut off CSS content.
Adds support for @conter-style at-rule.
Fixes options coercing in API.

* Apparently it was introduced when renaming options in 3.0.
Fixes #390 - Merging of :fullscreen rules
Fixes #390 - Exclude all problematic pseudo-classes from rule merge
Fixes #390 - Update regexes for :first and :dir()
Merge pull request #392 from silverwind/pseudo-class-merge

Exclude all problematic pseudo-classes from rule-merging
Fixes #395 - unescaped brackets in data URIs.
Tweaks EscapeStore to restore based on index not metadata.
Adds an option to store escaped metadata to CommentsProcessor.
Adds an option to store escaped metadata to ExpressionsProcessor.
Adds an option to store escaped metadata to FreeTextProcessor.
Adds an option to store escaped metadata to UrlsProcessor.
Adds more advanced tokenizing.

* We'll be able to hold more information about tokens now.
Rewrites property tokenizer to use string traversing.
Adds a more performant version of rebuilder.
Reworks simple & advanced optimisations to use metadata.

* We can avoid merging, splitting, and mapping by using token metadata directly.
* Unfortunately it means metadata has to be updated as we go.
Renames variables in advanced optimiser to match others.