static: remove native impl of nest

nest can be expressed using chain and sequence, so just use that
implementation instead of the native one.
static: fix index issues with static

When using static, operators that are nested below it do not receive the
proper index and associated datum. This is because static requires,
conceptually, a new data bind that will not preserve the index of the
context.

In order to preserve the index, static iterates over the elements of the
context selection, which also provides each element's index in the
context selection. The coditional element creation logic is run, and
then the selection continuation is run on the result, except the index
of the parent element is passed to the continuation. This will be
propagated through to all other operators below the static operation.
Fix D3 version
Operators return optional strings

For those operators that are setting some attribute-like thing–i.e.
attr, style, and property–there must be a way to completely clear the
value. In JavaScript, you accomplish this by using the null value. In
Elm, this corresponds to a Maybe type.

Uses of thse functions that used to look like this:

  attr "class" (\d i -> "cls-" ++ show i)

should be updated to look like this

  fun attr "class" (\d i -> "cls-" ++ show i)

Previous uses of fun, should be replaced with opt. Uses of num and str
are unaffected.