Fix deBruijn capture bug for 'Bind' binders.

But similar changes probably need be made for other types with smart
constructors that use 'close' (and for other 'GenBind' based types in
particular).  A simpler solution is probably to just fix the Unbound
library so it correctly handles free deBruijn vars in 'close' and
'open' (by weakening and strengthening).
Generalize free-deBruijn-var-bug solution to most Unbound binders.

The (commented out) 'SubstM' instance for Unbound's 'TRec' binder does
not type check, but there is no 'Subst' instance for 'TRec' in Unbound
itself, so I'm not too worried about it.
Make our names consistent with Unbound's naming convention.

The 'D' and 'R1' come at the end of the name they are the literal dict
or 'Rep1' version for, respectively.
Merge branch 'debruijn-capture-bug'