tests: add another test case to verify pkg files are replaced correctly.
xbps_transaction_prepare: check for unresolved shlibs a bit early.

It's just better if we check for unresolved shlibs earlier because
the transaction array will be smaller if there are replaced packages.
Introduce xbps_array_add_first() to insert obj at the head of array.

The behaviour of this routine mimics the existing xbps_array_add() with
the difference that stored objects are moved to the right to insert
our object as the first element on the array.

Use this to add replaced packages in the transaction array at the head
rather than at the end, to preserve the proper sorting order.