Rename masked column fails for subsequent slicing

This is weird, but when you create a masked column and look at the data attribute, you will see things like `mc.data._name`, `mc.data._parent_table`, etc.   For reasons I don't understand, this leads to the following bug:
```
In [1]: from astropy.table import *
In [2]: mc = MaskedColumn([1,2], name='a')
In [3]: mc.data._name
Out[3]: 'a'

In [4]: mc
Out[4]: 
<MaskedColumn name='a' unit=None format=None description=None>
masked_array(data = [1 2],
             mask = [False False],
       fill_value = 999999)

In [5]: mc.name = 'b'

In [6]: mc
Out[6]: 
<MaskedColumn name='b' unit=None format=None description=None>
masked_array(data = [1 2],
             mask = [False False],
       fill_value = 999999)

In [7]: mc[:]   # back to name of 'a'
Out[7]: 
<MaskedColumn name='a' unit=None format=None description=None>
masked_array(data = [1 2],
             mask = [False False],
       fill_value = 999999)

In [8]: mc.data._name
Out[8]: 'a'
```
Note this is in the current stable release, and the same feature is not seen for Column.  This is for Mac / Python 2.7 / numpy 1.8.
About the `if` statement, you don't want to set these attributes if the `item` was an integer so that the return is now a scalar type object instead of a new `MaskedColumn`.