hopefulles solves #909
fix typo
Fix failure when adding a row to an empty masked Table

Also fixed another issue where (with masked table) calling
add_row() would add a row copying the first row instead of the
advertised behavior of adding a row of "zeros".  The docstring
was clear that it should be zeros.
Rename utils.meta to utils.metadata
Use single deepcopy instead of once per key in meta merge
Refactor get_merge_descrs
Finish refactor of get_merge_descrs and update join accordingly
Add initial Table vstack implementation
Add Table hstack method
Replace require_match arg with new join_type 'exact' in hstack
Replace require_match arg with new join_type 'exact' in vstack
Add docstrings for hstack and vstack
Fix mistake that was accidentally working in Python 2.x but not 3.x
Change hstack/vstack to stack_columns/stack_rows
Require compatibility of columns in common_dtype and add test

Don't allow dissimilar columns such as str and int to be combined,
but do allow combining cols like float and int.
Add initial stack tests
Change stack_columns/rows back to hstack/vstack
More vstack tests
Add build status badge from main Shining Panda build
Fixes #996 for now by somewhat improving how column attributes are handled through the ColDefs class.  This caused one test to break, but the behavior expected by the test didn't make much sense to begin with, and the new behavior is much more in line with sensible user expectations.