Issue #8 - add @EQUALS that generates = or IS NULL

Adds an ``@EQUALS/@ENDEQUALS`` pair similar to ``@LIKE\@ENDLIKE`` that determines whether to use the '=' operator or 'IS NULL' depending upon the value of the bound variable in the parameter source.

Also added null handling to ``@LIKE`` to output 'IS NULL' if the bound variable is null.

Because of the similarities between like and equals, created an ``OperatorSqlFragment`` superclass that reduces the code duplication in the fragment classes and the parser.