Allow L.snapshot to take non-existy values

`null` and `undefined` do not allow property reads (e.g. `null.foo`). So
without the existy check `L.snapshot(null)` and `L.snapshot(undefined)`
throw TypeErrors.
Merge pull request #3 from andreaslundahl/snapshot-for-non-existy-values

Allow L.snapshot to take non-existy values