more optimizations to upsert.
Merge pull request #38 from wesleykendall/develop

upsert checks updates before saving