Tests: Divide parsing and sorting tests
Tests: Use external files for parsing/sorting test
Sort order: Handle properties preceeding rulesets

Previously, if a property-value pair was followed by a linebreak and anything
but property, import or include (e.g. ruleset or condition),
the pair appeared twice in the result code.
For example,
    a {
        color: tomato;
        span {foo: bar}}
would become:
    a {
        color: tomato;
        color: tomato;
        span {foo: bar}}
That was due to incorrect removal of spaces form `deleted` array.
This commit fixes the issue.