Support reading of variable-length columns.

The GFitsTableCol has been extended to support reading of variable-length columns. A specific load method has been implemented for variable-length columns that determines for each row the number of elements and stores the information in a vector of row start indices. The GFitsTableCol::offset method has been modified to allow accessing elements in the variable-length storage.

GFitsTable has been adapted to support allocating variable-length columns. Variable-length columns are recognised by a negative typecode.
Introduce tform_binary() methid for fixed-length and variable-length column format and remove binary_format() method.

Instead of handling the column format in the derived classes, the column format for binary tables is now handled in the base class. The format codes for variable-length columns are now also supported.
Support writing of variable-length columns.
Correctly handle saving of string columns and declare all methods implemented in the header file as inline methods.

During the rework, a bug occured in the string column class that prevented from correct saving to the file. The bug was due to the fact that the wrong pointer was specified by the ptr_data() method, and then, also the GFitsTableCol::isloaded() method that worked on ptr_data() was not corrected. The ptr_data() method has been corrected for the string column class and the isloaded() method has been defined as pure virtual in GFitsTableCol, and now is implemented in the derived classes. We thus have full control over the definition of the loading state.

To conform to the actual coding standards, all methods that are implemented by the table column classes in the header file are now declared inline.
Cleanup code after introduction of variable-length column.
Add new generic out_of_range exception for array indices.
Implement GFitsTableCol::elements() method for setting the number of elements in a variable-length column.

The generic GFitsTableCol::elements() method has been implemented that makes use of the virtual data_resize() method that should be implemented by all derived classes. This method has so far been implemented and tested for the GFitsTableShortCol class. A unit test has also been added for this class that uses the elements() method for setup of the variable-length column.
Correctly handle unsigned variable-length columns.
Implement resize_data() method for all classes (except for Bit columns) and implement elements() method for defining variable-length column.

A variable-length column is now constructued by passing a negative column vector length. The size of a row is specified using the elements() method that makes use of the resize_data() method implemented by the derived classes. The only column type that is not yet implemented is the Bit column. Also the string columns do not yet work properly for variable-length columns.
Update information after implement support for variable-length FITS columns.
Merge branch 'devel' into integration
Add #include <cstdlib> to make std::abs(int) available.
Add #include <cstdlib> to make std::abs(int) available.
Merge branch 'integration' into devel