Gracefully handle files with invalid byte sequences

If a user accidentally linted a binary file (or file with some sort of
encoding problem), `scss-lint` would fail. This is frustrating when you
are linting a large project and due to a single invalid file your entire
lint run doesn't finish.

Modify the `Runner` and `Engine` classes to handle this case more
gracefully.

Fixes #59

Change-Id: Ice097f9f3fb3759f2eaef32812f8364014442341
Reviewed-on: https://gerrit.causes.com/32602
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Shane da Silva <shane@causes.com>