BUG: Timestamp construction from numpy.datetime64 creates a naive Timestamp
```
>>> d = '2013-02-02T02:12:34+0600'
>>> ts_from_str = pandas.Timestamp(d)
>>> ts_from_dt64 = pandas.Timestamp(numpy.datetime64(d))
>>> ts_from_dt64.tzinfo
>>> ts_from_str.tzinfo
pytz.FixedOffset(360)
```

NumPy documentation is clear about `datetime64` representing 'a single moment in time' and being 'always stored based on POSIX time'. It seems to me that a `Timestamp` object constructed from `datetime64` should always be tz-aware, so that the equality comparison between `ts_from_dt64` and `ts_from_str` would return `True`, instead of raising an error. 
This part seems easy and I can create a PR if what I wrote makes sense. Since `datetime64` doesn't seem to store offsets, we probably can't `get ts_from_dt64` and `ts_from_str` to print the same string.
