Add -Wunreachable-code
Fix unreachable code - break after return mostly.

(rasqal_expression_visit): More substantial update to set result var
and return in one place.
Add rasqal_triples_source_factory API V3

Added a V3 API that does not require a query object to create a
triples source.  The internals primarily need it for returning errors.

typedef #rasqal_triples_error_handler2: Added taking a world object
rather than query in #rasqal_triples_error_handler

rasqal_triples_source_factory: gains API v3 init_triples_source2
keyed off a rasqal world, sequence of data graphs and a
#rasqal_triples_error_handler2 and a set of flags.  Avoids any
use of #rasqal_query internals so can be used without it.

(rasqal_query_get_genid): Deleted.

rasqal_query typedef: loses genid_counter

(rasqal_new_query): Do not init genid_counter.

rasqal_world typedef: gains genid_counter

(rasqal_new_world): Init genid_counter.

typedef rasqal_raptor_triples_source: Use world field replacing query
field.

(rasqal_raptor_statement_handler, rasqal_raptor_triple_present): Use
world field.

(rasqal_raptor_get_genid): Added, keying off world field.

(rasqal_raptor_init_triples_source_common): Added to support APIs
V1-V3 with optional fields and two handler styles (for errors).
The query arg is only for V2 API support and is otherwise not used.

(rasqal_raptor_init_triples_source2): Added to implement V3 API
calling rasqal_raptor_init_triples_source_common().

(rasqal_raptor_init_triples_source, rasqal_raptor_new_triples_source):
Wrap rasqal_raptor_init_triples_source_common() for V1 and V2 APIs.

(rasqal_raptor_register_triples_source_factory): Declare V3 API
support.

(rasqal_triples_source_error_handler2): Added for V3 handler support.

(rasqal_new_triples_source): Support V3 factory method
init_triple_source2
Merge branch 'master' into testrunner