Carve bundler script cleanup

- random.hpp was only removed from actual include
  directory, but not from patches/files.

- Files list generator didn't ignore config.h file
  which in fact is not needed.
Update Carve to upstream version be054bc7ed86
Fix Carve compilation on FreeBSD

Based on the patch from Marcus von Appen, thanks!
Fix T37143: Wrong normal dir with individual origins + one vert selected
Transform: improve normal orientation

- when 3 verts are selected ensure the normal is flipped on the side of existing vert normals.
  also use the most distant 2 verts to define the tangent.

- when 2 vertices are selected, the normal wasn't aligned with the vert normal.
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/
View Navigation: Walk and Fly modes

Summary:
This is a replacement for the dynamic fly mode.
It behaves as the first person navigation system available
in most 3d world  games nowadays.

Shortcuts:
----------
Shift+F      - Start View Navigation operator
Ctrl+Shift+F - Stat old Navigation operator
WASD (hold)  - Move forward/backward and straft left/right
QE (hold)    - Move up and down
F            - Fly mode
R            - Walk Mode
Tab          - Alternate between Walk and Fly modes
Shift (hold) - Speed up movement
Alt (hold)   - Slow down movement
Space        - Jump (teleport when in fly mode)
T            - Teleport

User Preferences Options:
-------------------------
Navigation Mode   - fly/walk navigation systems
Mouse Sensitivity - sensitivity factor to mouse influence to look around
Teleport Duration - how long the duration last
Camera Height     - camera height to use in walk mode
Jump Height       - maximum jump speed in m/s
Move Speed        - base move speed in m/s
Boost Factor      - multiplication factor when running or going slow (1/boost)

Development Notes:
------------------
* The initial code was based on view3d_fly.c.
* The NDoF code was not touched, so it most likely is not working.
* I removed the deacelerate/accelerate code.

Pending Issues:
---------------
* The axis roll correction is disabled (it was affecting the move around code.
* Draw in the UI the shortcut options, and current values (e.g., Mode: Fly/Walk)
* We can rename Fly to Free, so Walk/Free Navigation is provided by this code, and Fly can use the old code.
* They would need to be integrated as one operator somehow (the code can be merged, but to evaluate whether it's worthy).

Reviewers: ideasman42

Differential Revision: http://developer.blender.org/D30
View Navigatino: rename fps to walk, now to change the internal variables
View Navigation: changes from review

Implemented:
* rename from fps to walk
* unifying walk and fly modes into VIEW3D_OT_navigate
* change up/down to Q/E keys
* expose gravity in the ui
* acceleration/deacceleration
* new shortcuts (MMB, ...)
* remove X/Z rolling
* teleport distance clamp to positive
* huge cleanup
* other small changes

Missing parts:
* walk->base_speed needs to be static or an operator settings
* Teleport should try to land in an offset to the hit point
* Speed could/should be relative to unit_settings.scale_length
* Testing/bug fixing
* Reverse mouse (I added a placeholder, but no functionality nor UI)

Not addressed:
* NDoF will not be supported for now
* We need a nice API to draw in the header while running the operator
View Navigation: pad alignment for DNA struct
View Navigation: fix aim draw not centered
View Navigation: Q/E no longer affects camera_height (they now only work on FREE
mode)
View Navigation: fix for when camera gets stuck
Code cleanup: basic compiler stuff
Style cleanup
removing commented out code