Adding gitignore template mockup.

First pass for gitignore API.
Makefile update.
Use the headers as headers.
Linting tests.
Changing the default value for source.
Plural for languages.

Can keep track of multiple languages, so make it a plural name.
Makefile supports running through a virtualenv.

The Makefile now has support for running the virtualenv version of
Python from a normal `make` command, which means that it can be used
in tools that support Makefiles but not running them from inside a
virtualenv- for example, Sublime Text 3.

It uses some default settings near the top of the Makefile and checks
for WORKON_HOME in the environment variables, which is present if the
excellent virtualenvwrapper tool is installed.

  VENV_NAME: The virtualenv that you would like to run.
  VENV_DIR:  The directory in which the virtualenv lives.
Use a set for the languages.
Adding test for multiple languages.
Adding templates together.

Allow the templates to be added together to make joined templates.
Fix data type bug.

Make sure that it doesn't try to convert a set into a set.
That would be redundant and ridiculous.
Fixing minor comments.
Only add templates if different.

If they cover the same languages they don't need to be added together.
So don't add the templates together.
Minor comment.
Testing the source component of the template.
Rename a test and update the comment.

Linting caught the duplicated test name. Updated and corrected.