Fix for issue #712

Fix for issue #712. The specific issue mentioned there concerns providing a more helpful error message when the ^ operator is used with 2 boolean operands. My change is slightly more general in that it generates an error for &, &=, ^, ^=, |, and |=. I used the error message mentioned in the issue:

"error TS0000: The ^ operator is not allowed for boolean types. Consider using !== instead."

When & or | are used with boolean values I suggest && and || respectively.

One interesting thing here is how to handle the assignment operators. Right now I show the same recommendation i.e. "consider using !==" shows up for both "^" and "^=" which, is maybe a bit confusing, but I wasn't sure the best way to do this. I've spoken briefly with @DanielRosenwasser about this but would be open to any other feedback for how to handle this. 
It's really not but if we are using the same error message then we have to follow the same form of providing a suggestion. If they are trying to use a bitwise assignment operator with 2 booleans we could do something more intelligent and say "Consider using 'x = x || y'" but that would require a separate error message and code for all of the bitwise assignment operators. If that makes more sense to do I can definitely change it to that though.