distribute #once for each method for clarity in Date
keep #once only for expensive methods in Date

* The first 3 are only an offset of #ajd
* The last 2 are so simple they should never be the bottleneck
add a fast path for DateTime.{new,civil}: 2 vs 13 µs

old:
DateTime.new 13.64 µs/i ± 0.182 ( 1.3%) <=>     73296 ips
now:
DateTime.new 2.081 µs/i ± 0.116 ( 5.6%) <=>    480493 ips

* for now, only used if max ms precision
improve Time#to_date and Time#to_datetime by calling ::civil directly

old:
Time#to_date     10.41 µs/i ± 0.047 ( 0.5%) <=>     96020 ips
Time#to_datetime 21.15 µs/i ± 0.084 ( 0.4%) <=>     47270 ips
now:
Time#to_date     1.324 µs/i ± 0.030 ( 2.2%) <=>    755096 ips
Time#to_datetime 4.884 µs/i ± 0.010 ( 0.2%) <=>    204767 ips