Update RSpec version
Update RSpec matchers

Updating the RSpec task matchers provided by fudge to its users.  The
matchers now support RSpec 2 and RSpec 3 expectation syntax.

This should allow the fudge matchers to support users that have
upgraded to RSpec 3 (including fudge itself), while continuing to
support those who cannot yet upgrade.

The support for both versions is a little hacky and inelegant,
depending on conditional branches controlled by the RSpec version
string.  We need a plan to deprecate and remove support for RSpec 2.
Convert specs to RSpec 3.0.1 syntax with Transpec

This conversion is done by Transpec 2.2.4 with the following command:
    transpec

* 87 conversions
    from: obj.should
      to: expect(obj).to

* 34 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 27 conversions
    from: == expected
      to: eq(expected)

* 15 conversions
    from: be_true
      to: be_truthy

* 14 conversions
    from: it { should_not ... }
      to: it { is_expected.not_to ... }

* 12 conversions
    from: obj.stub(:message)
      to: allow(obj).to receive(:message)

* 10 conversions
    from: obj.should_not
      to: expect(obj).not_to

* 8 conversions
    from: be_false
      to: be_falsey

* 4 conversions
    from: Klass.any_instance.stub(:message)
      to: allow_any_instance_of(Klass).to receive(:message)

* 4 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 3 conversions
    from: Klass.any_instance.should_receive(:message)
      to: expect_any_instance_of(Klass).to receive(:message)

* 3 conversions
    from: collection.should have(n).items
      to: expect(collection.size).to eq(n)

* 3 conversions
    from: its(:attr) { }
      to: describe '#attr' do subject { super().attr }; it { } end

* 1 conversion
    from: Klass.any_instance.should_not_receive(:message)
      to: expect_any_instance_of(Klass).not_to receive(:message)

For more details: https://github.com/yujinakayama/transpec#supported-conversions