Allow multiple mappings for the same entity/bundle/sf object/default record type

@caxy4 and I ran into a whole bunch of problems with overriding stock GivingForum mappings for Donors Forum. This solution removes the unique key on entity/bundle/sf object/record type and also makes the sync trigger property not required.

The result is that you can have mappings where no triggers selected that are effectively inactive mappings. This will allow us to clone the default GF mappings and create our own for the same combo of entities/objects that can then be exported to features (without the mess that is features_override).

This also allows, through the UI, being able to create different mappings for different triggers. One use case might be CampaignMember records - Contact and Campaign fields in SF only allow writing on create, not update. A create mapping could be created that includes these two fields while an update mapping would not include them. We currently handle this in hook_salesforce_push_params_alter().

An active flag was also discussed, and would work for us, but would require more extensive code updates.

@levelos and @bleeDev - thoughts?