Cycles / Sky Model:
* Old and new model can now be selected from a drop down menu.
* Old blend files load fine and use the old model, when we create a new Sky Texture node it defaults to the new model. 

* Fixed Strength issues with new model and some code cleanup there.

ToDo:
* OSL implementation for thee new model. 
* Code cleanup. Maybe outsource the whole precalc into its own cpp file?
Merged revision(s) 59185-59246 from trunk/blender into soc-2013-dingto.
Cycles / Sky Model:
* Remove the KernelSunSky struct, which limited us to 1 Sky texture for SVM. Now we can use more than 1 Sky shader, which allows some artificial effects like 2 Sun/Sky's or so.

* New and old model are now working in OSL as well.

Patch by Lukas Tönne, with some small tweaks by me. Thanks!

ToDo:
* Code cleanup!
Merged revision(s) 59247-59437 from trunk/blender into soc-2013-dingto.
Merged revision(s) 59438-59490 from trunk/blender into soc-2013-dingto.
Cycles / Sky Model:
* Rename Albedo to Ground Albedo, and improve tooltip. 
* Soft UI Range for Turbidity, between 1 and 10, higher values can produce weird results. I checked and other engines clamp this to 10 as well.
* Some code cleanup.
Merged revision(s) 59491-59602, 59604 from trunk/blender into soc-2013-dingto.
Merged revision(s) 59605-59750 from trunk/blender into soc-2013-dingto.
Merged revision(s) 59751-59905 from trunk/blender into soc-2013-dingto. 

* Resolved a conflict in intern/cycles/render/object.cpp.
Merged revision(s) 59906-59929 from trunk/blender into soc-2013-dingto.
Branch maintenance:
* Revert r59183 and r57612 of my branch. Those changes were experimental. In case we need it, it's still in SVN history. 
* Also fix a mismatch in gpu_shader_material.glsl.

Trunk and my branch are now equal, except splash.png. Compared with Meld, thanks to Campbell for the suggestion. :)
Cycles / Volume Rendering:
* Initial and experimental implementation of volumetric rendering. 

At this stage it is already usable, although there are a lot of limitations still:
- No Volume rendering in Branched Path integrator. 
- No Smoke volume rendering
- No OSL support
- UI and data structures are WIP, be careful when saving files with this. 
- ...

Credits:
* Based on the original patch by "storm". 
* Cleanup and improvements by Stuart Broadfoot. 
* A crash fix by Lukas Tönne.
Thanks a lot guys!

* Also some cleanup and refactor by myself. 

Some WIP docs and infos: http://wiki.blender.org/index.php/User:DingTo/Volume
* Put some more volume code behind __VOLUME__.
* Compiling on the GPU works and renders fine (sm_21 here), if you want to test uncomment the line in kernel_types.h.
Volume:
* Fix some render errors (no caustics etc.), the patch accidentally removed some lines in kernel_path.h.
* Remove unused bsdf_eval_add() function.
OSL implementation of the Henyey-Greenstein volume closure. A lot of cleanup included.
Volume:
Cleanup and refactor of closure code in volume.h.
* Remove unused code (the brute force henyey-greenstein eval and sample function and double peaked functions). Maybe we need something here in the future, but the current code just became too confusing. 

* Remove the CLOSURE_BSDF_DOUBLE_PEAKED_HENYEY_GREENSTEIN_ID, instead use CLOSURE_VOLUME_ISOTROPIC_ID now. 
The final naming of the node/closure is still unsure, but better to use one consistent naming scheme. When the "g" parameter is 0, the closure is Isotropic anyway, so maybe it's ok, we'll see.

* Now we use 2 counterparts to bsdf_eval() and bsdf_sample():
volume_eval_phase() and volume_sample() 

ToDo:
* Reflect these changes for OSL.
Volume:
* Rename OSL closure and file to reflect recent changes.
Fix for last commit, forgot to rename the shader in 2 locations. :/
Reinstated the OSLShader API functions for volumes, fixed the function signature.
Removed invalid code from volume closure, the OSL distinction has to happen on a different level and doesn't make any sense. The function body works in both SVM and OSL case.