Add ShellCheck pre-commit hook

ShellCheck is a static analysis and linting tool for sh/bash scripts.
It's mainly focused on handling typical beginner and intermediate level
syntax errors and pitfalls where the shell just gives a cryptic error
message or strange behavior, but it also reports on a few more advanced
issues where corner cases can cause delayed failures.

This commit adds a pre-commit hook and default configuration that runs
ShellCheck on *.sh files. Although shell scripts might have any
extension, including no extension, this seemed like a sane default to
avoid checking all files for the shebang. People can still configure it
to check shell scripts that do not have the .sh extension in their own
repo's .overcommit.yml configuration.

It appears that ShellCheck emits either notes or warnings, so it seems
like those should be mapped to Overcommit's warnings and errors,
respectively.

I left out the install_command option from the configuration file
because it is installed in different ways depending on the platform you
are on.

> On systems with Cabal:
>
>   cabal update
>   cabal install shellcheck
>
> On Debian based distros:
>
>   apt-get install shellcheck
>
> On OS X with homebrew:
>
>   brew install shellcheck

Change-Id: I6e3ad5c9bb9ebb173e25747500eaf73588b4c144
Reviewed-on: http://gerrit.causes.com/45432
Reviewed-by: Joe Lencioni <joe.lencioni@brigade.com>
Tested-by: jenkins <jenkins@brigade.com>
Use `--verbose` flag when running JSCS

According to the documentation, this option:

> Prepends the name of the offending rule to all error messages.

This will help people more easily understand what problems they run
into.

Change-Id: Ia1d0789344bc02a8be837eea1048ca82da14bd4e
Reviewed-on: http://gerrit.causes.com/45434
Tested-by: jenkins <jenkins@brigade.com>
Reviewed-by: Shane da Silva <shane.dasilva@brigade.com>