handle the fact newer Joda-Time can not have offset of 24h

* makes some tests fail unfortunately, MRI accepts offset of +24 or -24
add a proper lexer width JFlex for {Time,Date}#strftime !

* Tokenize exactly as the old one but in a much more proper way
* Should handle every edge case, with only a grammar of a dozen lines
* Remove massive amount of code from TimeOutputFormatter and RubyDateFormat
* Add a helper for composed formats to enhance readability