Remove now-passing excludes from MRI suite.
Guard RubyString.makeShared with 1_9 checks, so encoding is set.

We have a number of places in 1.9 logic where it eventually falls
back into 1.8 logic due to lack of version-splitting. In the case
of JRUBY-7195, the element grab from a MatchData shared the logic
in RubyRegexp.nth_match between 1.8 and 1.9 modes. However, the
logic there does not properly create new strings, leaving their
encoding set to default.

This commit modifies all paths to RubyString.makeShared I could
find with logic to use the "19" version if in 1.9 mode.

Fixes JRUBY-7195.
Re-exclude these intermittent failures while I investigate them.
Merge remote-tracking branch 'origin/master'
Fix bug where dregexp would break its own options.

A DRegexp node would construct its Regexp by passing the
RegexpOptions along directly. However, some construction paths
proceed to modify those options, setting "fixed" if the incoming
string is ASCII-8BIT. Because the options were never copied, this
broke the original DRegexp node causing all future regexp to also
be marked "fixed".

I modified the construction paths the interprter uses to always
clone the incoming RegexpOptions.

We should make RegexpOptions immutable in the future, to avoid
this sort of issue.
add a failing test for overflow in Time#+
avoid NSec going above 10^6 in RubyTime
start using Joda's DateTime in lib/date.rb

* Tests are unaffected by this change.
* Zone offset and Gregorian cutover are computed from the DateTime.
* They are still copied in instances variables for ease of compatibility with current code.
* @ajd need to be preserved for now as DateTime only has millisecond precision,
  date.rb has arbitrary (although mentioned not expected > ns) (via Rational).
* Joda methods are used for year,week,day,hour,min and second
  (but not fractions since it might be imprecise).
use RubyDateFormat to format Date, yeah!
add formatting letters in javadoc to RubyDateFormat formats
add missing format %g (short weekyear) to RubyDateFormat
fix RubyDateFormat %c, blank-padded day, not zero-padded
fix RubyDateFormat FORMAT_CENTURY: use getYear() so it does not depend on Chronology

* In ISOChronology, it is fine, but in GJChronology, it's century + 1.
* Still a problem for the year right now with GJChronology (but no test!)
RubyDateFormat: handle ignored POSIX modifiers as MRI
handle extra date formats in RubyDateFormat
raise an ArgumentError when millis is a Bignum as Joda cannot support such "times"

* that is earlier than 292 275 054 BC or later than 292 278 993 AD ...
fix logic for Date#year: should add 1 only during JulianChronology (before @sg)
Date#rfc3339 is now defined as strftime('%FT%T%:z')
%v in Time is %e-%^b-%Y and is %e-%b-%Y for Date/DateTime
handle %L as a special case of %N and fix 1.8/1.9 conditions