Datetimelike Array Refactor
A master issue, to help keep track of things.

High-level, I think we have two things to sort out

1. Design our datetimelike Arrays (DatetimeArray, TimedeltaArray, PeriodArray)
2. A plan for getting from master to an implementation of that design.

## 1. Design

We have a few things to sort out

a. Composition vs. inheritance of Index / Series and array classes
b. ...

## 2. Implementation Plan

A few options

a. Big PR implementing one or more arrays, followed by smaller cleanup PRs
b. Incremental PRs (implementing most of the interface on the *ArrayMixin classes), followed by a final PR making the switch
c. ...

Project board with the relevant discussions / PRs: https://github.com/pandas-dev/pandas/projects/4