The develop branch shows Travis-CI develop badge.
Reworked docstrings in NumpyDoc style.
Added the natsort_keygen function.

The natsort_keygen function is used to create a wrapped version of the
natsort_key which can be used to supply options when calling the natsort_key.
This function is intended to depreciate the public natsort_key in the future.
Performance optimizations and fixed recursive bug.

By profiling it was found that many of the initial design desicions for natsort
had poor performance implications.  For small input, these do not make a
difference, but for large inputs the penalty can be large.  These include small
micro-optimizations in natsort_key (such as choosing explicit arguments over
argument unpacking, which has noticable overhead when sorting ~100000 items),
and python-specific refactoring optimizations (i.e. isinstance vs. exception
catching vs. regex checking).

Additionally, the default value for the key has been switched from
'lambda x: x' to 'None', which is both a performance optimization and a design
improvement.

Next, natsort_key had the 'key' option added because it was found that handling
this in natsort_key is much faster than in natsort_keygen.

Last, the bug that made the natsort_key options not get passed to recursive
natsort_key calls has been fixed.
Added the order_by_index function.

The order_by_index function is a convenience function that helps the
user order a list by the index list that is returned by the *_index
functions.

Additionally, some import cleanup was done in the natsort.py file.
Added additional unit tests.

Added tests that verify options are passed to sub-functions, and also
test new functionality.
Added a reverse option to natsorted.

This option makes natsorted simulate more closely sorted. The reverse
option is also added to the index_* functions and versorted. This
way the python internals are doing the reversing, not you.

The natsort command line program was updated with this change.
Added .coveragerc and coveralls support.

This is a bit more formal method to track coverage than printing out the
results in TravisCI.

The way natsort is set up, 100% coverage is only possible on python3... the
python2 branch does not have the problem of unorderable types.
Fixed Python 2.6 set literal bug.

The set literal notation ({...}) was not introduced until Python 2.7, so
I changed the set creation to set([...]).  This set constant creation
was moved outside the function for performance considerations.

Also added a coverage badge to the README, and removed pypy from the
TravisCI config file (I was getting segfaults with py.test).
Prepared for depreciation of natsort_key.

The natsort_key function was changed to _natsort_key, and a new
natsort_key function was created that is a wrapper for _natsort_key
but also will raise a DepreciationWarning via the warnings module.
Documented changes in README.

This includes changes that have not yet been made, but will be for the official
release.
Also uncommented all calls in profile code.
Added the as_path option to natsorted & co.

The as_path option allows the user to specify that the input strings
should be interpreted as file paths, and thus split on the path
separator.  It also splits on the file extensions.  This helps sorting
some OS-generated file names like "Folder (1)/" and "Folder/", where
"Folder/" should come first, but without as_path it would come last.
Numbers and strings sort with as_path.

To do this, numbers had to be wrapped in an extra tuple from natsort_key
when called with as_path, so that there was the same level of tuples
for both strings and numbers.
Added the --paths option to the CL tool.

This option will trigger the as_path option to natsorted. This will
make the natsort command line tool much more useful, since sorting file
paths is likely a common task for natsort.
Added a stress tester.

This stress tester generates random strings and tries to sort them.
Package now passes pyflakes tests.

This was mostly import problems. The setup.cfg has been updated with
options to refine what is checked.
Package now passes pep8 tests.

Some the test_natsort.py script has some line length rules ignored, but
otherwise all rules are obeyed.
'python setup.py test' now does coverage and analysis.

This was done by adding --cov, --flakes, and --pep8 to the pytest call
within setup.py.
Added expanded documentation.

This documentation is in reST format, in a docs folder.  The README has
been pruned to only include what is needed to notify the user of what
the package does, and directs them to the documentation.

The tests and .travis.yml have been updated to account for the
documentation.
Fixed PEP8 errors on comments.

Also moved Sphinx and numpydoc install to before_deploy because
it only needs to be performed for when the documentation is being
deployed.