bmesh. Basic infrastructure is in place, and
subdivision patterns for quads are implemented.
Properly handling of the (many) flags and options
related to edge subdivide isn't complete, but I've
made a good start.
Goal is eventual 100% api compatibility with old
esubdivide function, with some of the uglier design
aspects refactored after some of the tools that rely
on them are redone.
Some notes: Customdata interpolation wasn't working
right. I thought maybe the weights were off, so I
swapped them, which surprising made it work. It's
still not completely identical to old edge
subdivide though.