**Base calculation amount is wrong when multiple taxes**

Impacted versions:
- 9.0 Enterprise (code from 2016/01/18)

Steps to reproduce:
I need to be able to have multiple taxes as followed:
- Customer Price 1000
- Base calculation for VAT $ 870 (reversed tax)
- IVA 13.00%    21402 DÉBITO FISCAL    $ 130.00
- IT 3% 2140106 Impuesto a las Transacciones (Calculated on Price+VAT)  $ 30.00
- IT2 3%    5310901 Impuesto a las Transacciones    (Calculated on Price+VAT) $ -30.00

Current behavior:
Setup VAT:
![1vat setup](https://cloud.githubusercontent.com/assets/7600613/12437866/abb6b6de-bf5c-11e5-9b6e-85247914c7ab.png)
![1vat setup2](https://cloud.githubusercontent.com/assets/7600613/12437868/ae64eb6c-bf5c-11e5-9124-fd58de0d4af5.png)
SO is correct only using the VAT:
![2so only vat correct](https://cloud.githubusercontent.com/assets/7600613/12437882/beee11ca-bf5c-11e5-8430-016ad23c3e04.png)
IT setup:
![3tax group setup](https://cloud.githubusercontent.com/assets/7600613/12437887/c9025e1e-bf5c-11e5-8176-1c47fd6bcf62.png)
![4it1 setup1](https://cloud.githubusercontent.com/assets/7600613/12437888/ca8dc2c8-bf5c-11e5-8f32-ca7fbfbbcd15.png)
![4it1 setup2](https://cloud.githubusercontent.com/assets/7600613/12437889/cc3418c0-bf5c-11e5-9f09-58660a3595e9.png)
![4it2 setup1](https://cloud.githubusercontent.com/assets/7600613/12437892/cdf5d8ba-bf5c-11e5-8b6b-168a54fc9de5.png)
![4it2 setup2](https://cloud.githubusercontent.com/assets/7600613/12437893/cf7583fc-bf5c-11e5-8db5-32efe0f11a47.png)

Besides the tax group sequence is
- impuestos =0
- IT = 20

Now adding the IT as second 
![5so vat and it incorrect](https://cloud.githubusercontent.com/assets/7600613/12437912/f10eb10a-bf5c-11e5-949f-4b73dce1fc70.png)
Invoice is incorrect as well:
![6invoice1](https://cloud.githubusercontent.com/assets/7600613/12437916/fce2013a-bf5c-11e5-9870-e015bd56106a.png)
![6invoice2](https://cloud.githubusercontent.com/assets/7600613/12437919/fefff9e0-bf5c-11e5-92ec-1990bf87be1a.png)

Finally accounting Entries:
![7accounting entry](https://cloud.githubusercontent.com/assets/7600613/12437921/07523dce-bf5d-11e5-939e-b00a6cf1e0c8.png)

Expected behavior:
Taxes amount are properly calculated but not base calculation. 
in SO, invoice and accounting entry the base calculation is wrong (1000 instead of 870 expected)
It seems that the value is overidden when the second tax is computed.

sequence = fields.Integer(help='Used to order Journals in the dashboard view')
    
    currency_id = fields.Many2one('res.currency', help='The currency used to enter statement', string="Currency", oldname='currency')
    company_id = fields.Many2one('res.company', string='Company', required=True, index=True, default=lambda self: self.env.user.company_id,
        help="Company related to this journal")
    refund_sequence = fields.Boolean(string='Dedicated Refund Sequence', help="Check this box if you don't want to share the same sequence for invoices and refunds made from this journal", default=False)
    inbound_payment_method_ids = fields.Many2many('account.payment.method', 'account_journal_inbound_payment_method_rel', 'journal_id', 'inbound_payment_method',
        domain=[('payment_type', '=', 'inbound')], string='Debit Methods', default=lambda self: self._default_inbound_payment_methods(),
        help="Means of payment for collecting money. Odoo modules offer various payments handling facilities, "
             "but you can always use the 'Manual' payment method in order to manage payments outside of the software.")
    outbound_payment_method_ids = fields.Many2many('account.payment.method', 'account_journal_outbound_payment_method_rel', 'journal_id', 'outbound_payment_method',
        domain=[('payment_type', '=', 'outbound')], string='Payment Methods', default=lambda self: self._default_outbound_payment_methods(),
        help="Means of payment for sending money. Odoo modules offer various payments handling facilities, "
             "but you can always use the 'Manual' payment method in order to manage payments outside of the software.")
    at_least_one_inbound = fields.Boolean(compute='_methods_compute', store=True)
    at_least_one_outbound = fields.Boolean(compute='_methods_compute', store=True)
    profit_account_id = fields.Many2one('account.account', string='Profit Account', domain=[('deprecated', '=', False)], help="Used to register a profit when the ending balance of a cash register differs from what the system computes")
    loss_account_id = fields.Many2one('account.account', string='Loss Account', domain=[('deprecated', '=', False)], help="Used to register a loss when the ending balance of a cash register differs from what the system computes")
    
    bank_account_id = fields.Many2one('res.partner.bank', string="Bank Account", ondelete='restrict', copy=False)
    display_on_footer = fields.Boolean("Show in Invoices Footer", help="Display this bank account on the footer of printed documents like invoices and sales orders.")
    bank_statements_source = fields.Selection([('manual', 'Record Manually')], string='Bank Feeds')
    bank_acc_number = fields.Char(related='bank_account_id.acc_number')
    bank_id = fields.Many2one('res.bank', related='bank_account_id.bank_id')
    _sql_constraints = [
        ('code_company_uniq', 'unique (code, name, company_id)', 'The code and name of the journal must be unique per company !'),
    ]
    @api.one
    @api.constrains('currency_id', 'default_credit_account_id', 'default_debit_account_id')
    def _check_currency(self):