Add some sort of link between cython and tests

- Closes #14.

    ``add_pytest`` accepts *.pyx files and compiles them. However, pytests can
    only discover pure python files. So the compiled extensions should be
    imported in a pure python test file.

- Closes #13

    Tests (and other files) are added via add_python_module, so anything that
    works for add_python_module should work for tests. This includes
    configurable tests/files, as well as cython extensions. However, only
    discoverable test files ("tests?_.*\\.py") are added to the ctest
    framework.
:bug: add_pytest not passing on CPP
Files for python modules can be sent through mako

mako was chosen over jinja because it allows in-template logic. This makes
simple case easier. Though it is likely be better to separate logic and
templates in general cases.
Can now mako pyx files.

However, pxd files probably do not work yet, in that they are likely not found
by the other cython files.
Function to configure file in batches
Adding ability to mako files
Make configure_files a macro

Makes it easier to use.
Also corrects errors in unit-tests.
Simplifying python module functions

Configured files and makoed files should be handled externally.
Remove unnecessary files
Using OUTPUT filename form of add_custom_command in mako

This should make dependencies easier to handle in the general case.
However, if the output files are not used by another target, then an explicit
target should be created in the same directory as the mako command. See test
for example.
Globs are specifically as such

Otherwise, file that do not exist are silently erased in the globbing step.
By making GLOB a specific option, we can pass both globs and generated source
files.
Create filter_list and split_list utilities

These functions manipulate lists according to regexes.
The filter_list function originally resided in PythonModule.cmake.
Python headers are copied to include directory

This directory is in the python package. It makes it easier to include
mako-generated pxd files.
Bug corrections for mako
LABELS where missing from pytests
Merge branch 'python'

* python:
  LABELS where missing from pytests
  Bug corrections for mako
  Python headers are copied to include directory
  Create filter_list and split_list utilities
  Globs are specifically as such
  Using OUTPUT filename form of add_custom_command in mako
  Remove unnecessary files
  Simplifying python module functions
  Make configure_files a macro
  Adding ability to mako files
  Function to configure file in batches
  Can now mako pyx files.
  Files for python modules can be sent through mako
  :bug: add_pytest not passing on CPP
  Add some sort of link between cython and tests