Sort order: Remove empty lines between declarations
Sort order: Fix for properties with equal index

If two declarations have the same group index and the same property index, after
sorting they should stay in order of their original appearance.

Due to some strange behaviour of `Array.prototype.sort` properties get mixed
from time to time.
For example, this:

    a {
        width: 0;
        width: auto;
    }

can suddenly become this:

    a {
        width: auto;
        width: 0;
    }

In order to avoid such situations, save node index value within extended node
and take it into account while doing `sorted.sort()`.
Add test for #94