When adding new values to a query, they would appear in reverse order
when adding from scratch, but in the specified order when adding to an
This change makes the order items are added to the query consistent.
It also brings the interface of query_param_append in line with that of
query_param, supporting array refs as well as simple lists.
Updated tests to check for the new behaviour and use Test::More, which
was in core at the minimum perl version specified in the Makefile.PL