Remove Surface modifier when removing force field from object

Summary:
Before this adding Surface type of force field and removing
this field would leave Surface modifier alive in the stack.

This might be really misleading and annoying.

Now removing force field will ensure no modifiers needed for
it are remained in the stack.

This also fixes missing notifier to redraw modifier stack
when changing force field type.

Reviewers: brecht, campbellbarton

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D13
Buildbot: update configuration file

Consider this configuration final-1 for the migration,
Linux and OSX slaves seems to be fine, Windows slave
would need some changes from the slave side.
Fix: Game Engine regression drawing text from recent cleanup
Fix: tab completing a filepath name in file browsers asks to create a new
directory if name was not fully matched

When hitting tab to complete a directory name in the filepath field in the
filebrowser Blender shows a "create new directory?" popup, if the beginning
of directory name typed in the field matches many entries. For example if you
have directories in the open directory called "test123" and "test456", typing
"te", tab would complete up to "test", but ask to create a new folder with the
name "test".

This patch unsets the boolean storing the info about changing filepath if the
folder with the completed name does not exist.

Reviewed By: brecht

Differential Revision: http://developer.blender.org/D10
Code Cleanup: move trans-verts out of snap code into their own file.

Developer Note:
* minmax & centroid was being calculated when creating trans-verts but never used.
* static vars removed, replace with TransVertStore stack var.
Buildinfo fixes

- Use -M suffix if working tree does have uncommitted
  modifications.
- Local commits are considered local changes as well
Extra unwanted change from the previous commit
Code Cleanup: style, spelling and pep8 edits
Blender Internal:
* Remove "Edge" post processing effect and the corresponding render layer.

Since we have freestyle, this is not needed anymore and was a very simple effect anyway (Zbuffer filter effect, could be added to the compositor if really needed again).

Reviewed By: brecht, ton
Differential Revision: http://developer.blender.org/D14
Fix for addons submodule which was pointing to a not existing revision

Pretty much likely happened because of arc utility included this
changes by accident and there were local commits in a local tree.

Not sure about how to prevent this from happening yet, just be
careful for now.
Fix IRC reported by elubie: windows crash with audio animation

There was a bug in how the iterators of STL list was used when erasing during iteration of a list, which was triggered by the STL implementation of MSVC, but hid well with gcc.
OSX/Cmake: workaround for missing OpenGL headers, make sure sdk lookup
Math Library: add dot_m4_v3_row_x/y/z
Transform: rename Warp to Bend
Tweaks and improvements to fundamental/homography estimation

- A bit more reasonable name for the estimation option
  structure and estimation functions.

- Get rid of unclear function and parameter tolerance,
  it wasn't clear at all in which units they are.

  Now we've got expected_average_symmetric_distance as
  an early output check and as soon as average symmetric
  error goes below this threshold refining finishes.

  This distance is measured in the same units as input
  points are.

  It is arguable whether we need callback for this or not,
  but seems Ceres doesn't have some kind of absolute
  threshold for function value and function_tolerance
  behaves different from logic behind expected symmetric
  error.

- Added option to normalize correspondences before
  estimating the homography in order to increase estimation
  stability. See

    R. Hartley and A. Zisserman. Multiple View Geometry in Computer
    Vision. Cambridge University Press, second edition, 2003.

    https://www.cs.ubc.ca/grads/resources/thesis/May09/Dubrofsky_Elan.pdf
Fix T37172: Plane Tracker Deform - No perspective

Previous wrap implementation was based on inverse
bilinear mapping, which doesn't give perspective.

Now plane track wrap estimates perspective transform
matrix as a homography estimation between frame
coordinates and plane corners.

Uses Libmv's implementation for this, which means
plane track wouldn't work properly with Libmv
disabled. Not a deal for official builds at all,
just folks who keeps things disabled need to be
aware of this.
Expose track's offset to the RNA
Fix T37545: SV+H color cube display changes H slider position when modifying S or V.

The widget for the SV gradient was disabling display colorspace transform, but this was not happening for the H slider below, leading to varying H values used to calculate the slider position.