Date library using Joda-Time (v2)

The branch was moved to my own fork so I can happily push --force if I need to rework the first commits.

* Date/DateTime constructors are very liberal for the arguments, they accept negative args and such. Replacing them entirely with Joda is hard and joda-time only handles civil format (y,m,d, h,m,s) at creation. The civil constructor has a fast path for positive args.
* ajd is computed lazily and used only in a couple places: constructors not supported by joda-time, `#ajd` and `#amjd` and `#<=>(Integer)`.
* Arbitrary precision is kept, with a `@sub_millis` field, optimized as `0` when not used otherwise as a `Rational`.
* {Time,Date}#strftime has been improved a lot, with a proper lexer and better support.

##### TODO
Improve perf of:
* strptime
* other parsing methods