Fix bug in `ZeroUnit` when it is not a dimension

only for dimensions the unit identifier is optional

Change-Id: Ic1396cb3f344550b94a6721d7269733a7fdbbbe6
Reviewed-on: http://gerrit.causes.com/37677
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Cleanup ZeroUnit length bug fix

Modify documentation to provide some additional explanation, remove an
unnecessary spec, cleanup some code with better naming.

Change-Id: Ia06b4a501ec09ceaad4160f19d8f607f6dd3d7cc
Reviewed-on: http://gerrit.causes.com/37678
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>
Fix crash in SingleLinePerSelector for interpolation

The `SingleLinePerSelector` linter would crash on selectors containing
only interpolation, e.g.

    #{$variable} {
      ...
    }

This was caused by `inject` returning `nil` on an empty array. We change
the implementation to return an empty string in this case.

Change-Id: Iabe6b7f87a4fa1fd7bd92ab2f8ce783495fce2df
Reviewed-on: http://gerrit.causes.com/37716
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>