Add support for Buffer values, and unit tests to prove it works

This adds support for objects with `Buffer` values, for example:

```js
var a = { hello: 1 };
var b = { value: new Buffer('world') };
extend(a, b);
```

I also added unit tests to show it works:

```
$ npm install
$ npm test

    ✓ can extend on 1 level
    ✓ can extend on 2 levels
    ✓ can extend with Buffer values
```