Allow duplicate calls to variable-like methods

It is common and recommended to create accessor methods and to extract
code into accessor-like methods. The existing implementation of
DuplicateMethodCall would force the result of these calls to be assigned
to a local variable, if it was needed several times in a method. The
resulting code would not be clearer.

The present commit remedies this.

Now, the following code:

  attr_reader :bar

  def foo
    the_bar = bar
    case the_bar
    when :qux
      :baz
    else
      the_bar
    end
  end

can be written as:

  attr_reader :bar

  def foo
    case bar
    when :qux
      :baz
    else
      bar
    end
  end
Merge pull request #178 from troessner/allow-duplicate-primitive-method-call

Allow duplicate calls to variable-like methods