(PUP-3036) Rubocop Style/AndOr autocorrect pass

This commit replaces `and` and `or` keywords in favor of `&&` and `||` where it
can be done automatically (In places where the semantic meaning of the
expression does not change on replacing the `and` keyword with the operator `||`).

Since we are using `rubocop -a` to make the changes, we are assured of the
correctness of translation. These changes have also been individually verified.

We have been able to get rubocop to make further changes than previously by
identifying equivalent patterns identified as different in parsing
(See rubocop issue #1255)
(PUP-3036) Rubocop Style/Not automatic pass

This commit replaces `not` in favor of `!` where
can be done automatically (In places where the semantic meaning of the
expression does not change on replacing the `not` keyword with the operator `!`).

Since we are using `rubocop -a` to make the changes, we are assured of the
correctness of translation. These changes have also been individually verified.

This change is especially useful because after replacing such instances, the
AndOr cop can autocorrect even more instances of violations

This also enables the Style/Not cop
(PUP-3036) Rubocop Style/Not use consistant spacing

This commit ensures that no space is used between the application of
the operator `!` and its operand. That is, it replaces the instances of
`! mymethod` with `!mymethod`

It also enables the Style/SpaceAfterNot cop
(PUP-3036) Rubocop Style/AndOr automatic pass (2)

This commit replaces `and` and `or` keywords in favor of `&&` and `||` where it
can be done automatically (In places where the semantic meaning of the
expression does not change on replacing the `and` keyword with the operator `||`).

Since we are using `rubocop -a` to make the changes, we are assured of the
correctness of translation. These changes have also been individually verified.

This commit takes advantage of the previous changes replacing `not` keyword to
autocorrect even more instances of violations.
(PUP-3036) Rubocop Style/AndOr parenthesis automatic pass

This commit replaces `AndOr` in favor of `and` and `or` where
can be done automatically (In places where the semantic meaning of the
expression does not change on replacing the `and` keyword with the operator `or`).

Since we are using `rubocop -a` to make the changes, we are assured of the
correctness of translation. These changes have also been individually verified.

The difference in this commit is that, we specifically search for instances
where the semantics of `and` or `or` is unchanged from `&&` and `||` when
parenthesis are introduced for method calls. That is, we look for instances
of the form `mymethod a,b or mymethod c` and convert them to
`mymethod( a,b ) or mymethod( c)` before applying the transformation.
(PUP-3036) Rubocop Style/AndOr conditional assignment automatic pass

This commit replaces `AndOr` in favor of `and` and `or` where
can be done automatically (In places where the semantic meaning of the
expression does not change on replacing the `and` keyword with the operator
`or` after some preprocessing).

Since we are using `rubocop -a` to make the changes, we are assured of the
correctness of translation. These changes have also been individually verified.

The difference in this commit is that, we specifically search for instances
where the semantics of `and` or `or` is unchanged from `&&` and `||` when
parenthesis are introduced for expressions with assignments.
That is, we look for instances of the form `if a = b or c` and convert them to
`if ( a = b ) or c` before applying the transformation.

These changes have been restricted to conditionals in the interests of
readability of resulting expressions.
(PUP-3036) Rubocop Style/AndOr fix parenthesis spacing

This commit updates the previous automatic pass where the method calls
of the format `method a,b or c` was changed to `method( a,b ) || c`
to remove the leading and trailing spaces -- to  `method(a,b) || c`.