jruby throws Encoding::InvalidByteSequenceError instead of Encoding::UndefinedConversionError for ASCII 8-bit lul wutever
Merge pull request #366 from rspec/fix_encoding_errors_on_jruby

Fix JRuby handling of EncodedStrings
Remove deprecations for RSpec 1 APIs.
Remove support for deprecated `expect(…).should`.
Merge pull request #364 from rspec/remove-rspec-1-deprecations

Remove deprecations for RSpec 1 APIs.
Fix wrong auto-generated descriptions with falsey expected value

Currently this spec example:

    describe 'wrong auto-generated descriptions' do
      subject { nil }
      it { should be nil }
    end

generates the following description:

    $ rspec --format documentation test_spec.rb

    wrong auto-generated descriptions
      should equal
                   ^^^ Missing "nil"!

This is because BaseMatcher#description checks whether expected value is
set or not by checking if the value is truthy in conditional semantics.
However this does not work if the expected value is `false` or `nil`.

This change fixes the issue by checking whether ivar @expected is
defined or not and skip definition of @expected if the parameter to
BaseMatcher.new is omitted.