Fix ColorKeyword linter to detect more cases

The `ColorKeyword` linter's simplistic implementation meant that it
would not detect color keywords in the following cases:

    font: 1px solid black;

    color: some-function(red);

The first case was due to us only looking for single-word matches of
color keywords. The second was due to the Sass parser automatically
converting color keywords appearing in Sass script to `Color` objects,
without keeping the original string.

The solution to the first case was to expand to a regex search of the
string to find any color keywords.

The solution to the second case was to monkey patch the parser to keep
the original string.

The monkey patching required an adjustment to the logic for the
`HexFormat` linter.

Some helper methods were also extracted into the `Utils` module for
use in both the `ColorKeyword` and `HexFormat` linters.

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