[IMP] models: when checking for data in a table, do not use column 'id'

Replace the query "SELECT min(id) FROM xxx" by "SELECT 1 FROM xxx LIMIT 1".
Both requests are as efficient, and the second one does not crash if column
'id' is missing.
[FIX] website: prevent t-field on selection fields

This quick fix avoids a buggy behaviour in version 8.0 that could
confuse users.

A future version should implement properly selection fields in t-field.

(closes #2490)

(cherry picked from commit fe3cac30e4c5c132da1de02576d4aa325979ccd9)
[IMP] website_sale : avoid duplicated order lines

Add line id to while calling _cart_update() from sale_get_order()
The missing line_id parametre was making the _cart_find_product_line() call to fail as it was linked to an option while searching for lines without options (making the method recreate new lines).
Fixes #2573
[FIX] paymnet_ogon: add missing SHA OUT keys

The SHA OUT list was incomplete and therefore SHASIGN was not matching anymore
List of keys from https://viveum.v-psp.com/Ncol/Viveum_e-Com-BAS_EN.pdf
[FIX] payment_ogone: last commit
[FIX] account_voucher: do not unlink records in onchange method

The method recompute_voucher_lines() is used by several onchange methods of
account.voucher.  It used to unlink() the voucher lines before recomputing new
voucher lines.  As a side effect, if you edit a voucher and discard your
changes, your voucher has lost its lines, although you did not save your
changes!  Moreover, the call to unlink() is invalidating the record cache,
which screws up completely the onchange() method.

So, instead of unlinking the existing lines, the onchange generates commands
[(2, id), ...] to remove the existing lines only when saving the changes.
[FIX] account_voucher: use resolve_2many_commands() instead of buggy-hand-written function
[FIX] website_sale: free carts were not confirmed