Clone the Keen Map if no timestamp. Fix #14.

This is a simple fix for #14. If a timestamp isn't present on the `keenProperties` Map, then it creates a copy of the existing map and sets the timestamp on the copy only, leaving the original untouched.
This looks reasonable. I think the reference to the GitHub issue is unnecessary in this case; the comment is self-explanatory.

Is it just me, or would this whole block of code be a little simpler if we replaced the nested `else { if (...) {` with a single `else if (...) {`? If you think so, feel free to make that change while we're in here. I'm a big fan of opportunistic code cleanup :)