BUG: Use astimezone instead of tz_convert.

Makes get_datetime agnostic as to whether its input is a datetime or a
Timestamp.  (astimezone is an alias to tz_convert when the input is a
Timestamp).
Always a chance I'm doing it wrong, but I think the arguments passed to `datetime.astimezone` and `pandas.Timestamp.tz_convert`/`astimezone` are different. 

```python
In [53]: from pytz import timezone

In [54]: tz = timezone("US/Eastern")

In [55]: tz
Out[55]: <DstTzInfo 'US/Eastern' LMT-1 day, 19:04:00 STD>

In [56]: dt = datetime.datetime(2014, 01, 01, 12, 00, 00, tzinfo=timezone('UTC'))

In [57]: dt
Out[57]: datetime.datetime(2014, 1, 1, 12, 0, tzinfo=<UTC>)

In [58]: dt.astimezone("US/Eastern")
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-58-e6f767797f22> in <module>()
----> 1 dt.astimezone("US/Eastern")

TypeError: astimezone() argument 1 must be datetime.tzinfo, not str

In [59]: dt.astimezone(tz)
Out[59]: datetime.datetime(2014, 1, 1, 7, 0, tzinfo=<DstTzInfo 'US/Eastern' EST-1 day, 19:00:00 STD>)


In [61]: pdt = Timestamp('2014-01-01 12:00:00', tz='UTC')

In [62]: pdt
Out[62]: Timestamp('2014-01-01 12:00:00+0000', tz='UTC')

In [63]: pdt.astimezone("US/Eastern")
Out[63]: Timestamp('2014-01-01 07:00:00-0500', tz='US/Eastern')

In [64]: pdt.astimezone(tz)
Out[64]: Timestamp('2014-01-01 07:00:00-0500', tz='US/Eastern')
```

The specific case we were trying to paper over is the string-argument-form one, which I don't think this will help, so maybe it's better to hold off until we can find the source of the mis-typed datetime/timestamp. What do you think?