Don't output newline when no lints detected

Commit 8166805 introduced a behaviour where if no lints were detected by
`scss-lint` it would still output a newline to `STDOUT`.

The solution was to check the output of the `Reporter`'s `report_lints`
method to ensure it actually had content before we output to `STDOUT`.

This commit also changes the behaviour of report_lints to only output
verbatim what `Reporter.report_lints` returned via `print`, rather than
automatically adding a newline via `puts`. This allows `Reporter`
implementations to decide whether or not their output format has a
trailing newline. The DefaultReporter was modified and its specs were
updated to reflect this new intended behaviour.

In the process of adding a regression test for this case, the
implementation of `Runner.lints?` was changed to query the `lints`
accessor rather than the `@lints` instance variable. This was done so
the `lints` accessor could be stubbed in the test and it would still be
reflected by the call to `lints?`, instead of requiring both `lints` and
`lints?` to be stubbed.

Change-Id: I9bcf54dae6efc3472242f5e5b34c05aef6026796
Reviewed-on: https://gerrit.causes.com/19949
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Joe Lencioni <joe.lencioni@causes.com>