fix a number of bugs in d3.d.ts

Most are a result of setter = `foo.bar(x)`, getter = `foo.bar()` only reflecting the setter signature.

The new definitions are consistent with the [d3 documentation](https://github.com/mbostock/d3/wiki/API-Reference). There are probably more similar bugs, but these are the ones I've encountered.
:+1: same as `keys`