Added failing spec for ASCII-only String#encode!

String#encode! fails for ASCII=-only strings when
Encoding.default_internal is nil.

Illustrates issue #2878
Fixed ASCII-only String#encode! with options

Fixed ASCII-only String#encode! when called with options
but no to/from encodings. When Encoding.default_internal
is nil the additional test makes sure that #ascii_compatible?
is not called on nil and also skips the force_encoding call.
Merge pull request #2892 from inukshuk/string_encode_when_internal_encoding_is_nil

Added failing spec for ASCII-only String#encode!