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