Create Index objects even if dates are out of bounds

Occasionally, it can be useful to work with datetime objects that cannot be
expressed as np.datetime64 objects with ns precision.

PeriodIndex is currently the only way to make a pandas.Index object consisting
of such datetime objects. But sometimes we really want our index objects to
consist of datetimes, even if they are a less efficient way to represent
dates.

This patch allows for falling back to creating generic Index objects if an
OutOfBoundsDatetime exception is encountered when attempting to create an
Index.