Moved the code for running the scss-lint command into its own function.
Removed commented out code
Verify the existence of the main sass file; using the  function also gives warnings regarding main.scss listing in the bower.json. Return early as the task should not run if main.scss is not correctly defined.
Add JSHint minimum config defined by the specification

Update the exclusion definition for scss-lint.  It uses a slightly different way of specifying exclusions to jshint and must be a comma separated list of file globs.
Added function to get the list of paths that exist in the .gitignore file for a project

Build the list of exclusions for scss linter from the .gitignore file.  Unfortunately it's not as straight forward as it is for jshint, instead we need to read the .gitignore file and add wildcard identifiers to any directories listed in the .gitignore file
Run the tasks using  which now correctly aggregates the errors rather than failing immediately.  Some mild duplicate code removal

Return with a useful error code