Vector.h: Don't declare to_python in non-python mode
SConstruct: Don't initialize mpi if mpicc==''

Also remove unused program_suffix and executable_suffix variables.
Fix hellish typo in definition of OTHER_COLD
utility/config.h: clang doesn't support the cold attribute
Value.cpp: Avoid an unused function warning
SolidMatrix: Expose outer product part multiplication

Also reformat a bunch.
Object: Assert that we're inside new_ or a wrapped constructor
sanity and safety checks in trees for empty trees
Implement cubic hinges, and fix the sign of 2D angle_between

1. Implement slightly improved version of Garg et al.'s "Cubic shells".
   Our version has a positive definite quadratic part.
2. Move force_test function to a separate header.
3. Make a few Vector methods into free functions (rotate_left_90 and friends).

4. IMPORTANT: Fix angle_between in 2D to return a correctly signed angle.
   If you want the unsigned version, apply abs.
Fix BlueGene build
Merge branch 'master' into windows