Only set user defaults and synchronize when value changes

This is a really expensive call, and doing it for every split test is really not performant.
Merge pull request #1 from HereLabsInc/zac-avoid-synchronize

Only set user defaults and synchronize when value changes