Handles undefined values.

A first stab at resolving #32. Will need tests to verify its robustness. Just opening a PR to start the discussion.

To test:

```js
// Errors on master branch.
var object = {
  test: undefined
};

var observer = jsonpatch.observe(object);
var result = jsonpatch.generate(observer);
```