fix fast.assign() to align with spec

fixes #63 

I also changed the benchmarks to defeat some of V8's `for..in` optimisations which I think were obscuring the result.

```
  Object.assign() vs fast.assign()
    ✓  Object.assign() (shim!) x 61,570 ops/sec ±1.78% (71 runs sampled)
    ✓  fast.assign() x 72,839 ops/sec ±1.70% (82 runs sampled)
    ✓  fast.assign() v0.0.4c x 71,028 ops/sec ±1.69% (82 runs sampled)
    ✓  fast.assign() v0.0.4b x 64,938 ops/sec ±1.67% (83 runs sampled)
    ✓  lodash.assign() x 69,040 ops/sec ±1.49% (89 runs sampled)

    Result: fast.js is 18.30% faster than Object.assign() (shim!).

  Object.assign() vs fast.assign() (3 arguments)
    ✓  Object.assign() (shim!) x 38,547 ops/sec ±1.28% (85 runs sampled)
    ✓  fast.assign() x 44,037 ops/sec ±1.19% (81 runs sampled)
    ✓  fast.assign() v0.0.4c x 44,914 ops/sec ±1.74% (86 runs sampled)
    ✓  fast.assign() v0.0.4b x 37,553 ops/sec ±1.53% (83 runs sampled)

    Result: fast.js is 14.24% faster than Object.assign() (shim!).

  Object.assign() vs fast.assign() (10 arguments)
    ✓  Object.assign() (shim!) x 16,210 ops/sec ±1.71% (83 runs sampled)
    ✓  fast.assign() x 19,496 ops/sec ±1.69% (81 runs sampled)
    ✓  fast.assign() v0.0.4c x 19,341 ops/sec ±1.97% (81 runs sampled)
    ✓  fast.assign() v0.0.4b x 15,632 ops/sec ±1.91% (82 runs sampled)

    Result: fast.js is 20.27% faster than Object.assign() (shim!).
```