Changes on top of #609 :
1. PR is rebased on top of changeset f02a404 18/02/2016.
2. Fixed issues presented in the comments.
the RTShader updates for D3D11 are certainly useful - as well as the general deduplication of the code. However these changes should be separate of changing behavior like the Hashing function change or the addition of geometry shaders.
Then the proposed code basically breaks everything but windows: https://travis-ci.org/OGRECave/ogre/builds/191107493 which must be fixed in advance.
If you are willing to further work on it, you should open a pull request on github as it will picked up by CI automatically. You can then update it until all CI checks pass.
The exported branch I used for building is here https://github.com/OGRECave/ogre/commits/lior_rtss