CLIMATE-523 Integrate mccsearch module into master branch

This is a pull request for https://issues.apache.org/jira/browse/CLIMATE-523.
The code is in sync with master branch and can be merged.
I've just noticed that we *may* need to address license headers for all files.
There are some issues (0) which @kwhitehall has identified as being in need of some attention. We can and will move these over to the climate Jira instance.
My thinking here is that we merge this code into master, we then hash out the TODO's and iron out the minor things in line with the process of flushing out some of Kim's knowledge onto the website as documentation.
Great work on this Kim, it is very exciting to see your code making it in to Climate.
(0) https://github.com/kwhitehall/climate/issues