(PUP-2909) enable static checking with rubocop 

This enables rubocop with a few selected checkers (cops). These selected allowed finding a few errors which are also fixed along with this checkin. The enabled verifiers include:

Lint/UnreachableCode
Lint/ConditionPosition
Lint/UselessComparision
Lint/LiteralInterpolation

These style checkers were found to be triggered on a very small number of problems which were found to be real problems. I have also marked a few checkers as 'MAYBE' which I feel might help puppet development, but as of now results in a large number of warnings. The rest of the checkers should only be enabled after verifying that they are indeed useful for puppet codebase.
The number of violations of Lint/AndOr by top level directories

178 lib/puppet/provider
119 lib/puppet/util
112 lib/puppet/type
69 lib/puppet/parser
33 lib/puppet/interface
28 lib/puppet/indirector
26 lib/puppet/resource
24 lib/puppet/application
21 lib/puppet/external
20 lib/puppet/network
18 lib/puppet/pops
16 lib/puppet/ssl
15 lib/puppet/settings
15 lib/puppet/face
9 lib/puppet/transaction
9 lib/puppet/file_serving
7 lib/puppet/rails
7 lib/puppet/property
7 lib/puppet/graph
5 lib/puppet/node
5 lib/puppet/feature
4 lib/puppet/parameter
2 lib/puppet/vendor
2 lib/puppet/file_system
1 lib/puppet/reports
1 lib/puppet/reference
1 lib/puppet/module_tool
1 lib/puppet/metatype
1 lib/puppet/file_bucket