Make Column or MaskedColumn name arg be a keyword arg name=None

The first arg for the `Column` or `MaskedColumn` is `name`.  In this PR `name` is changed to a keyword argument `name=None`.  This makes `name` optional, but more importantly would allow the documentation to recommend creating a column with:
```
c = Column(data=[1,2], name='a')
```
This would get people writing code with `data` and `name` both provided as kwargs, which would smooth the transition to 0.3 -->  we would also include in the documentation a heads-up that the plan is to change the keyword argument ordering in 0.3 to `Column(data=None, name=None, ...)`, so that from 0.3 you could write:
```
c= Column([1,2], name='a')
```
As mentioned in #726 this ordering is consistent with `Table` and `recarray`.  This PR is in lieu of actually changing the order now.  That would be possible but is a significant API change (which in theory is still open for discussion @iguananaut) affecting many files and would likely delay release of 0.2

If this PR instead is accepted for 0.2 then the documentation update and additional tests will be provided.