Fix Time#round

* account for sub-ms value
* maybe refactor the first line in a helper?
* use integer division, no conversion to double and back
Time#round is supposed to return a Time instance
Really fix Time#round: handle overflow and use plusMillis() instead of withMillisOfSecond() directly
Add of IR visualizer option
IR visualizer in RubyInstaceConfig
Make IR visualize flag avialable in JRuby module
Merge pull request #892 from komax/komax_add_ir_visualizer_flag

Added flag for IR visualizer
Precision of Time zone is seconds, so express it in seconds directly and avoid needless divisions

* RubySpec "Time#strftime with %z rounds fixed offset to the nearest second"
  can therefore only fail.
Eliminate a bunch of one-off unnecessary anon classes.
Use rspec opts for IR specs
fix Date#strftime %Y and %G: handle negative values in fourCharDigit()
Refactor the whole Time/Date formatting (strftime): RubyDateFormat

* Also fix negative timezone in getlocal19()
* And handle negative timezone with 0 hours
* Pass all sensible tests of MRI test_time.rb#test_strftime !!
  (was not passing half before)
* No null checks in TimeOutputFormatter, use a DEFAULT_FORMATTER
* Specify type of argument with an enum: FieldType
* Handle # (change case), padding with changed default padder and others
* Enjoy much cleaner code
* Generic useful methods in TimeOutputFormatter:
  formatNumber(), formatSignedNumber(), padding()
* Might need a little micro-optimization for padding()
update tests for TimeOutputFormatter
test numeric values as well and do not expect truncating already formatted strings
Remove tags/excludes for passing time tests
Remove excludes for passing encoding tests
First major refactoring to match MRI transcoding algorithm.
Merge pull request #893 from prathamesh-sonpatki/rspec-opts

Use rspec opts for IR specs
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!