Create an algorithm for running MC absorption with hollow cylinder can

Fixes issue [#9842](http://trac.mantidproject.org/mantid/ticket/9842)

To test:
  - Review the code changes. Some changes to the object/intersection framework were required for performance reasons
  - Check the documentation for the new algorithm. 
  - Use the usage example to test the algorithm and verify that the output looks like what you would expect an absorption curve to look like, i.e an exponential decrease.