Add extra_requires to setup for test.

The testing dependencies should be listed as extra_requires in setup.py.
I'm still working through how to incorporate the requirements.txt files
into this but am researching what is required of each system and when
they are used.

* Issue #23
Remove estras_require as it's part of setuptools.

Issue #23.
Switch to setuptools from distutils.

Issues: #23
Add setuptools bootstrap to setup.py.

Issues: #23
Add test parameters for setuptools.

Issues: #23
Simplify package_data

Setuptools and distutils allow us to search all packages for particular
data files.  Using this we can simplify our definition for flask
artifacts in our packages.

Issues: #23
Merge requirements.txt with setup.py.

We'll need to investigate (probably with more automated tests) the
particular versions that work for margarine as dependencies.  Some of
these we've found already but the others should be validated.

Issues: #23
Add entry_points to setup.py.

This won't work correctly without some change to the margarine modules
but I'm adding it so we can switch to a more portable format when
necessary.

Issue: #23
Merge branch 'master' into issues/23

Conflicts:
	test_margarine/requirements.txt
Add nose coverage and doctest to setup.cfg.
Merge branch 'master' into issues/23
Change to setup.py for all things.

Change .travis.yml to use setup.py to run the test suite with the
built-in nosetests plugin.
Change to single quotes in setup.py.
Add monkey patch for issue #23.

Looks like the nosetests section of setup.cfg causes issues and needs to
be bypassed when using setup.py.  This also means until we can find a
way to actually fix the issue we can't use setup.py nosetests (which
would make one command for doing all things).

This should fix #23 and allows us to use setup.py for installs, &c
again.  But not for running tests.
Merge branch 'master' into issues/23
Merge branch 'master' into issues/23

Conflicts:
	.travis.yml