Simplified `data.set()` and afforded 1 less parameter if data is local, API change

Updated `key` parameter logic in `data.set()`
Merge pull request #186 from avoidwork/edge

Major refactoring