Setting datetime64 array as DataFrame column does not convert unit to nanoseconds
Using pandas 0.8 and numpy 1.7,  I get errors when I add columns that are of type datetime64 for everything but very short columns:

```
In [105]: t = np.arange(start='2012-01-01 00:00', stop='2012-01-02 00:00', dtype='datetime64[h]')

In [106]: df = pandas.DataFrame(np.arange(len(t)))

In [107]: df['t'] = t

In [108]: df
Out[108]: 
     0                   t
0    0 2012-01-01 05:00:00
1    1 2012-01-01 06:00:00
2    2 2012-01-01 07:00:00
3    3 2012-01-01 08:00:00
4    4 2012-01-01 09:00:00
5    5 2012-01-01 10:00:00
6    6 2012-01-01 11:00:00
7    7 2012-01-01 12:00:00
8    8 2012-01-01 13:00:00
9    9 2012-01-01 14:00:00
10  10 2012-01-01 15:00:00
11  11 2012-01-01 16:00:00
12  12 2012-01-01 17:00:00
13  13 2012-01-01 18:00:00
14  14 2012-01-01 19:00:00
15  15 2012-01-01 20:00:00
16  16 2012-01-01 21:00:00
17  17 2012-01-01 22:00:00
18  18 2012-01-01 23:00:00
19  19 2012-01-02 00:00:00
20  20 2012-01-02 01:00:00
21  21 2012-01-02 02:00:00
22  22 2012-01-02 03:00:00
23  23 2012-01-02 04:00:00

In [109]: t = np.arange(start='2012-01-01 00:00', stop='2012-01-02 00:00', dtype='datetime64[m]')

In [110]: df = pandas.DataFrame(np.arange(len(t)))

In [111]: df['t'] = t

In [112]: df
Out[112]: ---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/work/<ipython-input-112-7ed0097d7e9e> in <module>()
----> 1 df

/usr/local/lib/python3.2/site-packages/ipython-0.12-py3.2.egg/IPython/core/displayhook.py in __call__(self, result)
    236             self.start_displayhook()
    237             self.write_output_prompt()
--> 238             format_dict = self.compute_format_data(result)
    239             self.write_format_data(format_dict)
    240             self.update_user_ns(result)

/usr/local/lib/python3.2/site-packages/ipython-0.12-py3.2.egg/IPython/core/displayhook.py in compute_format_data(self, result)
    148             MIME type representation of the object.
    149         """
--> 150         return self.shell.display_formatter.format(result)
    151 
    152     def write_format_data(self, format_dict):

/usr/local/lib/python3.2/site-packages/ipython-0.12-py3.2.egg/IPython/core/formatters.py in format(self, obj, include, exclude)
    124                     continue
    125             try:
--> 126                 data = formatter(obj)
    127             except:
    128                 # FIXME: log the exception


/usr/local/lib/python3.2/site-packages/ipython-0.12-py3.2.egg/IPython/core/formatters.py in __call__(self, obj)
    444                 type_pprinters=self.type_printers,
    445                 deferred_pprinters=self.deferred_printers)
--> 446             printer.pretty(obj)
    447             printer.flush()
    448             return stream.getvalue()

/usr/local/lib/python3.2/site-packages/ipython-0.12-py3.2.egg/IPython/lib/pretty.py in pretty(self, obj)
    349             if hasattr(obj_class, '_repr_pretty_'):
    350                 return obj_class._repr_pretty_(obj, self, cycle)
--> 351             return _default_pprint(obj, self, cycle)
    352         finally:
    353             self.end_group()

/usr/local/lib/python3.2/site-packages/ipython-0.12-py3.2.egg/IPython/lib/pretty.py in _default_pprint(obj, p, cycle)
    469     if getattr(klass, '__repr__', None) not in _baseclass_reprs:
    470         # A user-provided repr.

--> 471         p.text(repr(obj))
    472         return
    473     p.begin_group(1, '<')

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/frame.py in __repr__(self)
    570         buf = StringIO()
    571         if self._need_info_repr_():
--> 572             self.info(buf=buf, verbose=self._verbose_info)
    573         else:
    574             self.to_string(buf=buf)

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/frame.py in info(self, verbose, buf)
   1343             lines.append('Data columns:')
   1344             space = max([len(_stringify(k)) for k in self.columns]) + 4
-> 1345             counts = self.count()
   1346             assert(len(cols) == len(counts))
   1347             for col, count in counts.items():

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/frame.py in count(self, axis, level, numeric_only)
   3997                 result = Series(counts, index=frame._get_agg_axis(axis))
   3998             else:
-> 3999                 result = DataFrame.apply(frame, Series.count, axis=axis)
   4000 
   4001         return result

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/frame.py in apply(self, func, axis, broadcast, raw, args, **kwds)
   3537                     return self._apply_raw(f, axis)
   3538                 else:
-> 3539                     return self._apply_standard(f, axis)
   3540             else:
   3541                 return self._apply_broadcast(f, axis)

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/frame.py in _apply_standard(self, func, axis, ignore_failures)
   3592             try:
   3593                 for k, v in series_gen:
-> 3594                     results[k] = func(v)
   3595             except Exception as e:
   3596                 try:

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/series.py in count(self, level)
   1072             return Series(counts, index=level_index)
   1073 
-> 1074         return notnull(self.values).sum()
   1075 
   1076     def value_counts(self):

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/common.py in notnull(obj)
     93     boolean ndarray or boolean
     94     '''
---> 95     res = isnull(obj)
     96     if np.isscalar(res):
     97         return not res

/usr/local/lib/python3.2/site-packages/pandas-0.8.0.dev-py3.2-linux-x86_64.egg/pandas/core/common.py in isnull(obj)
     72             result = np.array(obj).view('i8') == lib.iNaT
     73         else:
---> 74             result = -np.isfinite(obj)
     75         return result
     76     elif isinstance(obj, PandasObject):

TypeError: ("ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''", 'occurred at index t')

```
