How to turn table.Row objects into a Table?

When I pull a single row from a table, I don't get a `Table`, instead I get a `Row` object.
What I would like to do is to take several `Row` objects and stack them up to form a new `Table`. I tried several methods:

- `newtab = Table([row1,row2])`
- `newtab = table.vstack([row1, row2])`

They all failed because a `Row` is not a `Table` (full log with example and error messages below).

I don't like the concept of `Row` (I would prefer it to be a one-line `Table`, not a different class), but this suggestion was not approved in #1236 .

So, I think we need to allow some other way to turn `Row`s back into `Table`s (or if such a way exisits, it needs to be better documented as I did not find it in the documentation).

There is an obvious workaound:
If I do `row1=table[[1]]` instead of `row1 = tab[1]`, then `row1` will actually be a `Table` object with one row and not a `Row` object and `vstack` will work, but that does not solve the problem that we should have a way to turn `Row`s back into a `Table`.

Full output of my ipython session:
```
In [1]: from astropy.table import Table, vstack

In [2]: obs1 = Table.read("""name    obs_date    mag_b  logLx
   ...:                          M31     2012-01-02  17.0   42.5
   ...:                          M82     2012-10-29  16.2   43.5
   ...:                          M101    2012-10-31  15.1   44.5""", format='ascii')

In [3]: obs2 = Table.read("""name    obs_date    logLx
   ...:                          NGC3516 2011-11-11  42.1
   ...:                          M31     1999-01-05  43.1
   ...:                          M82     2012-10-30  45.0""", format='ascii')

In [4]: 

In [4]: print vstack([obs1, obs2])
  name   obs_date  mag_b logLx
------- ---------- ----- -----
    M31 2012-01-02  17.0  42.5
    M82 2012-10-29  16.2  43.5
   M101 2012-10-31  15.1  44.5
NGC3516 2011-11-11    --  42.1
    M31 1999-01-05    --  43.1
    M82 2012-10-30    --  45.0

In [5]: print vstack([obs1[1], obs2[0]])
ERROR: TypeError: `tables` arg must be a Table or sequence of Tables [astropy.table.operations]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-7dedea6abd84> in <module>()
----> 1 print vstack([obs1[1], obs2[0]])

/data/guenther/anaconda/lib/python2.7/site-packages/astropy-0.3.dev5074-py2.7-linux-x86_64.egg/astropy/table/operations.pyc in vstack(tables, join_type)
    169     from .table import Table
    170 
--> 171     tables = _get_list_of_tables(tables)  # validates input
    172     arrays = [table._data for table in tables]
    173     col_name_map = OrderedDict()

/data/guenther/anaconda/lib/python2.7/site-packages/astropy-0.3.dev5074-py2.7-linux-x86_64.egg/astropy/table/operations.pyc in _get_list_of_tables(tables)
     68     elif isinstance(tables, collections.Sequence):
     69         if any(not isinstance(x, Table) for x in tables):
---> 70             raise TypeError(err)
     71     else:
     72         raise TypeError(err)

TypeError: `tables` arg must be a Table or sequence of Tables

In [7]: print Table([obs1[1], obs2[0]])
ERROR: TypeError: len() of unsized object [astropy.table.table]
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-fcc726535fe8> in <module>()
----> 1 print Table([obs1[1], obs2[0]])

/data/guenther/anaconda/lib/python2.7/site-packages/astropy-0.3.dev5074-py2.7-linux-x86_64.egg/astropy/table/table.pyc in __init__(self, data, masked, names, dtype, meta, copy, dtypes)
   1018 
   1019         # Finally do the real initialization
-> 1020         init_func(data, names, dtype, n_cols, copy)
   1021 
   1022         # Whatever happens above, the masked property should be set to a boolean

/data/guenther/anaconda/lib/python2.7/site-packages/astropy-0.3.dev5074-py2.7-linux-x86_64.egg/astropy/table/table.pyc in _init_from_list(self, data, names, dtype, n_cols, copy)
   1160             cols.append(col)
   1161 
-> 1162         self._init_from_cols(cols)
   1163 
   1164     def _init_from_ndarray(self, data, names, dtype, n_cols, copy):

/data/guenther/anaconda/lib/python2.7/site-packages/astropy-0.3.dev5074-py2.7-linux-x86_64.egg/astropy/table/table.pyc in _init_from_cols(self, cols)
   1220         """Initialize table from a list of Column objects"""
   1221 
-> 1222         lengths = set(len(col.data) for col in cols)
   1223         if len(lengths) != 1:
   1224             raise ValueError('Inconsistent data column lengths: {0}'

/data/guenther/anaconda/lib/python2.7/site-packages/astropy-0.3.dev5074-py2.7-linux-x86_64.egg/astropy/table/table.pyc in <genexpr>((col,))
   1220         """Initialize table from a list of Column objects"""
   1221 
-> 1222         lengths = set(len(col.data) for col in cols)
   1223         if len(lengths) != 1:
   1224             raise ValueError('Inconsistent data column lengths: {0}'

TypeError: len() of unsized object
```