New functions for dealing with tables

New functions: `fits_get_rowsize', `fits_create_ascii_tbl',
`fits_create_binary_tbl', `fits_write_col', `fits_get_col_repeat',
`fits_insert_rows', and `fits_delete_rows'.

 The prototype of `fits_read_col' has been changed a bit in order to
make it more similar to `fits_read_pix' (the array is no longer
returned; instead, it is the last parameter of the call).  Also, an
unused variable was removed. The code now works with string arrays as
well.

The two functions `fits_create_ascii_tbl' and `fits_create_binary_tbl'
wrap the same CFITSIO function (`fits_create_tbl'). The reason why there
are two implementations is because the original function offered to
create two different kinds of HDUs: IMO, having this spelled in the
function name leads to clearer code.

Also, instead of passing the three arrays TTYPE, TFORM, and TUNIT to the
function, the Julia wrapper accepts just *one* array of `ColumnDef's:
this reduces the possibility of errors.
New section "Table routines" in the docs

A new section "Table routines" has been added at the end of the
documentation. It describes all the routines implemented so far for
dealing with ASCII/binary tables.
New ColumnDef definition

ColumnDef is now an alias to a 3-tuple of ASCIIString types. This
follows a comment by Nolta
(see https://github.com/nolta/FITSIO.jl/pull/4).
Merge pull request #4 from ziotom78/tableroutines-pull-request

New functions to create/read/write tables