set offset to 0 if out of range [-day, +day] when parsing and warn as MRI
default width of year is varying between 4 and 5 depending on the sign in MRI
handle ':' after width and other format flags in strftime

* proper handling would be a parser
handle correctly padding of negative numbers and their padder in formatNumber()

* `"-" + Long.toString(-value)` is simply `Long.toString(value)`