Differentiates arrays and objects

Start of a solution to #31.

This begins the process of differentiating between arrays and objects. The fix in this PR only compares empty ones, though. It'll likely take a bigger rewrite to handle all cases.

To test:

```js
// On master, you get nothing.
jsonpatch.compare({a: {}}, {a: []});

// On this branch, you get a nice replace. Yippee
```