Adding code to recognize threaded BLAS library vendor

Distinguishes between MKL, Goto, Open BLAS libraries by trying to compile a program calling the
appropriate set_num_threads function.
Sets WITH_MKL, WITH_OPENBLAS, WITH_GOTOBLAS approriately.
Re-adds OpenCL. Untested though.

It is not clear where the OpenCL libraries are added, not even in the original code. So I'll leave
it as is unded the assumption this is work in progress.
PythonInstall now in GreatCMakeCookOff

See UCL/GreatCMakeCookOff@e47007848de2de089295c7b356c68a2f8b9b41a6
Dependencies of external project managed via (non-)existence of TARGETS
Trilinos recipe takes build type as argument
Trilinos recipe installs as a python package

It installs to a package directory inside "${EXTERNAL_ROOT}/python". We should be able to install it
as a python package this way.
Add ability to install as python package

This means that it all goes inside a single directory located in the python path.
More specifically, in ``PYTHON_PKG_DIR``, wich defaults to ``distutils.sysconfig.get_python_lib()``.
Adding install script to Trilinos
Adding options for Armadillo lookup

- URL
- It's MD5
- TIMEOUT
Can now do ``python setup.py build``

Have to keep Trilinos as external project after it's installation into the external library.
Should likely try and set it as a [non-ALL target](http://www.cmake.org/cmake/help/v2.8.11/cmake.html#prop_tgt:EXCLUDE_FROM_ALL).