Update Ceres to latest upstream version

- A richer Problem API.
- DynamicNumericDiffCostFunction.
- Faster ITERATIVE_SCHUR solver.
- Faster SCHUR_JACOBI preconditioner.
- Faster Jacobian evaluation.
- Faster visibility based preconditioning using single linkage clustering.

Also re-wrote rules for unordered collections detection,
should work on all platforms and compilers now :)
Remove debug prints from SCons' python module

Seems to be left by accident in rB9a79e03752509997e99094763f9183e6e5ce3637

If not, please do prints more verbose :)
CMake/Scons Build: disable explicit linking to libstdc++ on Linux/Unix.

It's not needed, this should happen automatically already, and if you build
against libc++ instead (as on recent FreeBSD), this would give build errors.

Ref T37477.
Made collections port compatible with MSVC2008

The issue was caused by the fact that in this version
of MSVC unordered_map class is defined in <unordered_map>
header file, but this file declares the class int std::tr1
namespace.

This confused existing assumption that if there's an
existing <unordered_map> file then class is declared
in std namespace.

Added an extra check to CMake which detects whether
it's std or std::tr1 which actually contains class
of unordered_map.

This might be changed/cleaned in the future, for
now committing to our repository to solve compilation
error on windows.

Details of the patch in upstream can be found there:

  https://ceres-solver-review.googlesource.com/#/c/4371/
Code cleanup: spelling fixes and verbosity prints
Fix iTaSC build error when building with libc++.

This was using TreeElement before it was fully defined, which gives undefined
behavior that happened to work with other libraries but not libc++.

Based on patch by Marcus von Appen, modifications for brevity and to ensure we
don't dereference invalid memory. Ref T37477.
Python API: give a better error message when creating a Matrix fails
Python API Docs: update for using git buildinfo and change upload URL
Fix own regression - adding a grid had rotated face.

some scripts depended on uv's default values
Cycles OSL: refactoring to remove all dependencies on builtin OSL closures.

These were removed in new OSL versions. We only used these as base classes,
not using them at all simplifies the code a bit.
Code cleanup: avoid using function calls within macros
Fix T37407: removing cd-layer didn't set the active layer correctly
Fix T37149: Macros store settings from a cancelled operation
Buildinfo: suppress error prints when building local branches

Before this console output contained messages about branch is not
configured to use any upstream branch which is not useful information
at all.
Fix scons compile after last commit ( unwanted new line )
Cycles OSL: fix mistake in recent refactoring, parameters are not set before setup.
Better removal of  \n in hash with rstrip
Correction to previous commit

Better just use "strip", to be sure \r\n is also stripped.
This also corresponds to what happens with popen() results.
File Browser: autocomplete keeps focus in the file field when entering a folder.

There is a bunch of internal refactoring going on too:
* No longer use operators to handle these directory and file fields, only makes
  things more complicated than they should be.
* Handle autocomplete partial/full match deeper in the UI code
* Directory field still does not keep focus, that's for another time to fix,
  you can already do pretty quick keyboard only navigation with the file field.

Reviewed By: elubie

Differential Revision: http://developer.blender.org/D29
Fix errors and inconsistencies in confirmation popup removal.

* Improve some clip editor messages
* Remove popup for metastrips, seems unnecessary
* Renamed some variables for consistency
* Avoid unnecessary call to CTX_DATA_COUNT

Reviewed By: sergey, campbellbarton, aligorith

Differential Revision: http://developer.blender.org/D44