[add] account_vat_on_payment - copied from
https://code.launchpad.net/~domsense/domsense-agilebg-addons/6.1
[imp] headers
[imp] first porting changes
[fix] handling foreign currency for additional move lines
[FIX] using right journal in context
[IMP] line lenght
[imp] using esplicit dates
[IMP] some PEP8
[imp] other PEP8
[imp] other PEP8
[fix] URL
[FIX] typo
[ADD] avoid including write-off if set in voucher.
                                That means: use the invoice's total
                                (as we are in 'full reconcile' case)
Added a selection field to define a default value for VAT on Payment flag.

Usually, invoices emitted for a particular customer/supplier have the
same value for the VAT on Payment flag.
This patch adds the possibility to specify the default value of such a
flag.
This definition must be done inside the partner form and is made through
a selection. This is done to force the user to flag the right value.
Using a boolean is too easy to forget to check the field.
Once the default value is set, all subsequent invoices created for that
partner have the VAT on Payment flag automatically set to the right value.
[IMP] Copyright fix.
[IMP] PEP8 fixings.
[FIX] Fixed a bug on XML record creation.

If a module (like fetchmail_invoice) containing a partner record to be
preinstalled through a data.xml file was installed after this one, a
bug occurred.
The bug shows because the record is created with the
default_has_vat_on_payment flag to empty and then validation fails.
To solve this, the create function for partners is changed to check for
the presence of that flag in the vals dictionary. If the flag is found,
we assume the creation happens through the UI and so normal checking goes
on. If the flag is not found, we assume the creation happens for an XML
record and so we add an arbitrary, but valid value for the flag.
[FIX] Typo.
[ADD] Moved default_has_vat_on_payment on account.fiscal.position.

After some research, the VAT on Payment seems dependent on the account
fiscal position of the customer/supplier.
Moved the default_has_vat_on_payment flag to that model to take that
into account.
The field is now a boolean because is not needed anymore to force the
user to make a choice.
[FIX] When partner field is empty value is False.

The value passed to the onchange_partner_id for the partner is False
when the field is empty. In this case, it is not possible to use such a
value with the browse function or an error arises. Fixed that.