Fix api handling of OptionValue defaults
Overview
----------------------------------------
Fix api handling of OptionValue defaults
Before
----------------------------------------
Some option values (greetings, from_email_address) have
more than one default. For from_email_address it is per domain
and for the others it is per 'filter' (aka contact_type).
The special handling for greetings relies on the form layer - updating
a greeting for 'Individual' and passing 'is_default' will
unset 'is_default' for Household greetings.
For from_email_address the form layer magic-param is set but ultimately
has no bearing as there is duplicate handling in the bao layer
After
----------------------------------------
The default handling is done in the BAO layer & removed from the
form layer
Technical Details
----------------------------------------
I moved the handling to after-update because values are more guarantee there. I
did this by excluding the id from the update query (also prevents flappy updates).
I didn't move all the way to the post hook because I wasn't sure about the interaction
with cache flushing etc (that already happen after save in create) but that could be considered.