Two micro-optimizations for merge with

See commit messages for details.

Microbenchmark, before:

```python
>>> dicts = [{"foo": random(), "bar": random(), "baz": random()} for _ in xrange(100)]
>>> %timeit merge_with(max, dicts)
100000 loops, best of 3: 14.6 µs per loop
```

After:

```
>>> %timeit merge_with(max, dicts)
100000 loops, best of 3: 13.8 µs per loop
```