Freestyle: Fix for StrokeVertexIterator.__next__() ignoring the first and only element.

A StrokeVertexIterator ignores the first element when it is the only element.
Such an iterator can be created by the .incremented() method from an iterator
over two stroke vertices.

This problem is a regression from 2.71.  The present fix is appropriate to backport
if Blender 2.72a is planned.

Problem report by Kazuhiro Murakawa through personal communications, thanks!
Freestyle: Fix for memory leaks in StrokeVertexIterator.

The issues identified here are regression from 2.71, so the present code
revision is appropriate for backporting if 2.72a is planned.
Fix T32209 quitting not saving latest data if you are in edit or sculpt mode on
quit.blend.

This will use a slower file write if an object is in edit or sculpt
mode.

Autosaving will explicitly not be supported to keep it fast.
Added a tooltip warning.
Fix T42168 mask texture UI missing. Own sillyness after last data fix
commit.

If we include the data cleanup commit to an alpha version for 2.72a this
should be included as well
Sculpt: remove offset args from internal funcs

Detect this from the element type, also typecheck lookup functions
very stupid cut tool
test
test2
Split out functons
fix since merge