(rasqal_new_results_compare): Allocate defined_in_map 2x larger
Compute sequence of variable names for row on demand

(rasqal_row_get_names): Added internal method
(rasqal_query_results_get_bindings): Use rasqal_row_get_names()
(rasqal_variables_table_get_names): Remove and variable_names field
Make rowsource usage counted

(rasqal_new_rowsource_from_rowsource): Added
(rasqal_new_rowsource_from_handler): set usage earlier
docs
(rasqal_new_results_compare): Fix leak of vars
(main): Fix output_var_name leak using rasqal_variables_table_add2()
(rasqal_new_results_compare): free v2 after last use
(rasqal_new_results_compare): free v2 only if new
(rasqal_query_get_variable): docs
Let rows change their rowsource

(rasqal_row_set_rowsource): Added for general internal use

(rasqal_row_set_weak_rowsource): Added for rowsource_rowsequence so
it does not hold circular references to itself in the rows it
stores in it's sequence.
(rasqal_new_bindings_from_var_values): Hanle NULL values sequence
Add rowsource reference counting to rasqal_row
Allow getting variables from a row

(rasqal_row_get_variable_by_offset): Added

(rasqal_query_results_get_binding_name): Use above instead of
variables table.
Update tmpls
Fix r_g_q_results_formatter_factory() to produce the result advertised in 130fa835

If reader *or* writer is requested and the format in question supports both
return the formatter factory.

(rasqal_get_query_results_formatter_factory): query reader and writer flags
individually instead of insisting on total equality
Merge pull request #2 from hroptatyr/fix/formats_check

Fix r_g_q_results_formatter_factory() to produce the result advertised in 130fa83
Fix rasqal_query_results_formats_check return value.

(rasqal_query_results_formats_check2): Added implementing
specification correctly; non-0 if format exists.

(rasqal_query_results_formats_check): Deprecated

Updated callers to use the logic.