Refactored LightSource.shade_rgb into three separate functions
Added support for vertical exag and non-uniform spacing to LightSource
Added new blending modes to LightSource for more realistic rendering
Updated shading example to show new styles and added exmaple DEM from SRTM data
Make the "fraction" kwarg behave as it did before recent LightSource enhancements
Strip whitespace and strict PEP8 compliance
Avoid potential divide by zero in LightSource.hillshade
Quiver3d fixes

* numpy 1.6 does not support 3+ arguments for meshgrid
* actually use the sanitized data (fixes broadcasting issue)
* use argi through-out the function
* don't fail on zero flow, just don't draw a quiver
MNT : better error handling on determining gs version

If we fail to parse the version string return (0, 0) to let
the code for dealing with out-of-date versions of gs handle
the case of not installed.
Merge pull request #3284 from tacaswell/cbook_bxpstats_fix

BUG : fix  _reshape_2D bug with [(n, 1), ..] input
Merge pull request #3300 from WeatherGod/mplot3d/quiver_test_fix

Quiver3d fixes
Merge pull request #3277 from tacaswell/gs_check

MNT : better error handling on determining gs version
Check for GhostScript in this test which needs it
Merge pull request #3302 from jenshnielsen/checkdep_ghostscript

Check for GhostScript in this test which needs it
Fix calculation of aspect for hillshading.
Make clipping work properly for effectively planar surfaces
BUG : restore allow_rasterization on PolyCollection

The was accidentally removed as part of
b8726d09026ba7507d8501de0fbd921ec2d1243e

Closes #3299
Merge pull request #3306 from tacaswell/polycollection_allow_raster

BUG : restore allow_rasterization on PolyCollection
Added tests for LightSource functionality
Added example of using the custom hillshading on a 3D surface plot