BLI_buffer: empty macro
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
OSX: as an prerequisite to make Dalai's upcoming "area_fullsceen" work,
make sure the window states are correct in the lion_fs animation phase.
This also assures the CTX_wm_window(C) is okay.
Cycles: Use a bit better approach for erfinv()

Also reduce number of branching and multiplications a bit by inlining the branches.

This gives an unmeasurable speedup, which is in case of BMW is about 2% here.
Fix T42163: Outliner: recursive visibility toggle: autokeyframe only works for ancestor, not children

Ancestor's autokeyframing is handled through UI/buttons code, but children completely
skipped this, so we have to do it explicitely here...
Fix typo breaking compilation with rather strict flags (does not like implicit double to float conversion).
Code cleanup: tabs vs. spaces (tm) commit
Change interaction of pie menus slightly.

In drag style pie menus clicking is ignored now. This is done because
if we want to ensure that pie menus will not respawn, we had to not
destroy and keep the pie menu invisble while the button is pressed.

This opened a can of worms where pie items that would spawn popups could
steal the focus from the invisible pies and then the former pies would
be stuck in an invisible state, stealing all input unless user did a
right click to cancel the pie.

Invisible state is still kept for cancelling and strictly for that only.

This still allows nested layouts but only in click style, while hold
style is used for faster interaction. As a plus, it should also be
possible to tweak slider properties now, though menu will close after
that.
Code cleanup: Fix silly duplication of typecheck and swap macro
Fix T41950: Parent-Child Menu behaves weird

Issue was, parenting with operator, then unparenting would keep the inverse parent matrix.
So if you then parented again through the mere Object field of Object buttons, you'd still
use previous inver parent matrix, giving some weird behavior from user PoV.

This commit simply makes sure inverse parent matrix is always reset to indentity when clearing
parents.
Cleanup (no functional changes):

* int -> bool where possible
* Use const where possible
* Get rid of magic numbers
* Add/tweak a few UI tips
* A few other misc changes.
Cleanup: tabs in empty lines.