remove some legacy checks in files.py
check URL input and support ~ and relative paths in coursepath

closes #8 closes #9
cleanup: models.Config
cleanup: refactor repetitive code into wrappers
cleanup: API code refactoring, indentation fixes, etc.
cleanup: new API method for testing connection instead of using make_request
cleanup: Refactored url-formatting to be done ONLY in __do_request. Also include default values for 'headers' and 'params' in __do_request, so that they do not need to be explicitly given in every method
cleanup: renamed some API internal methods beginning with a double to a sigle underscore
cleanup: Removed redundant and fugly _ensure_configured decorator, moved it's functionality into _do_request where it will ensure configuratedness (? :--D) independent of API method
cleanup: one variable name change
cleanup: changes in API class comments to reflect current behaviour
cleanup: change behaviour of send_zip and get_zip_stream's argument:'exercise' is expected to be a raw id-value instead of some Models instance
cleanup: move functionality from files.download_exercise to get_zip_stream: restrict Requests-functionality to be used only in api.py
fixed a few flake8 warnings (mostly in tests)
Merge pull request #11 from MawKKe/API_cleanup

API Cleanup
Merge branch 'master' of github.com:JuhaniImberg/tmc.py
some formatting