Fixed #3127 .  This can now be merged, as far as i'm concerned!  Can now specify rotation angles about specified vectors before and after translation in SolutionUserObject.  The transformation_order specifies the order of transformations, suprise suprise!  i have added five tests that i hope will catch most bugs.  Also while doing this i fixed a related small bug in RichardsBorehole re forming rotation matrices (as it happens this would have never effected any results).