cmake: Simplify finding python modules

This patch adds 3 files, PythonModule.cmake, FindPythonMako.cmake and
FindPythonNumpy.cmake.

PythonModule provides a simple function for running python and parsing
the version strings, each FindPython*.cmake then just calls that
function, and then calls the find_package_handle_standard_args macro for
simple, standard finding. This is much more in line with how the core
cmake modules work, and makes is trivial to add additional python
modules with all of the standard cmake awesomeness like version
checking.

v2: - add copyright notice
    - don't set a few variables that don't need to be set
v3: - further reduce code duplication with a macro
cmake: Use FindWaffle.cmake instead of pkg-find

This is nice because it should work on both windows and on linux, since
FindWaffle is provided by waffle itself.

This is tested on Linux, but not on Windows.

NOTE: There is a bug in FindWaffle.cmake that causes it to never check
that the requested version is present. There is a patch on the waffle
list for this problem.

v3: - remove accidental comma insertion

Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
cmake: Use waffle PackageConfig instead of FindModule.

This patch changes the behavior find_pkg for waffle to use a config file
instead of a find module.

Config files are more like pkgconfig files, in that they are purely
descriptive files, while find modules are executed code that runs
during cmake's configure phase.

v3: - set required waffle version to 1.5.0 instead of 1.3.0 (to reflect
      current upsream)