Streamline and simplify update of couplings in multisystem framework
Description
Greatly simplify the boiler plate needed for updating the couplings:
- merge update_external_quantityinto theupdate_quantitymethod, as there was not clear use case where they should be different.
- make update_quantitya non-deferred method, as in many cases systems do not have any quantities to update on demand.
Also move some code to more logical places and refactor it. In particular the infamous update_exposed_quantities routine is gone 
- 
update_partner_couplingsmethod ofinteraction_with_partner_t
- 
update_on_demand_quantitiesmethod ofinteraction_partner_t
- 
check_couplings_statusmethod ofinteraction_partner_t
As a side effect, interaction partners that are not systems do not need to implement their own version of update_exposed_quantities, as the new ``update_partner_couplings` method is fully generic.
Edited  by Micael Oliveira