Move development requirements to place for optional dependencies in Python application

Description

I believe the dependency list for the Python application needs to be split into 1) what is required for the application and 2) what is required as "extra" or the "development" dependencies. Specifically, in the setup.py file, there are some dependencies that are only needed for development.

I suggest reading the Python documentation on optional dependencies and think adding the extras_require will be the most straight forward way to split these.

I believe it would look something like like:

extras_require={
    'dev': [
        "sphinx",
        "sphinx_rtd_theme",
        "pytest-cov==2.8.1",
        "pytest-remotedata==0.3.2",
    ]
}

Which, using the quickstart method described in the README for the Python application, would change to:

pip install -e .[dev]

This issue is essential as part of my review for JOSS.