Refactor package.json

Use tabs for indentation, to follow code base's coding style
Use X version ranges for dependencies, so they won't be dated too
quickly
Allow identifier to follow & selector
Polish CLI help message
Refactor options

Vistors modify options to reflect the actual used values
options.prefix is now a string of space-separated values
Add semicolons to js files

Since Roole now requires semicolons, js code should follow it
Also use jshint
Use new before constructors
fix prefix option in the CLI
fix make coverage

also copy over package.json
remove unused Node.containSelector()
Support function calls to be used in expressions

Rename @mixin to @function
Calling @function as a mixin require using @mixin construct
Fix prototype chain created by Node
remove empty @keyframes
remove empty @font-face
Make @keyframes introduce new scope
simplify pseudo selector ast
Support rest parameter
Support $arguments inside functions
reduce allowed max parameter number to 3

Change assert API
Change rulesetExtender API
reduce allowed max code nest depth to 3
always require curly braces
disallow bitwise operators