Logic error with `--series-id` and seriesless name

Patch thanks to scott323, closes #74
TODO about #75, can't think of a way to do this currently
Detect episodes with numeric title causing large range
Tweak error message text
Merge pull request #77 from darkpixel/feature/GH-76-spews-episode-numbers

Specific file name formats with numeric title caused large episode range
Major code restructuration, improved file renaming/copying/moving.
Changed tests to pass recent changes. Problems only with 'test_forcefully_moving_disabled' and 'test_forcefully_moving_default', sometimes they pass and sometimes they don't. I think the order of processing input files is not always the same, maybe some change to test helpers required?
code cleanup
Better lowercase and valid filename generation
Fix tests for change in lowercase handling
wrap makeValidFilename() calls, fix test_with_invalid_seriesname and test_with_invalid_seriesname_test2
Better episodename formatting
Revert part of 05561eec760c57c43190762d4f7079782406fd91 - apply lowercase only on dynamic parts of move_files_destination
Split test_functional.py into multiple files, fix some existing tests
remove obsolete test - 'absoluteepisode' key is gone for a long time
Fixed test_forcefully_moving_default and test_forcefully_moving_disabled (had to change move destination to original directory, but that should not matter).
I doubt anyone will ever fix this test, so remove it.
Simplified EpisodeInfo classes - better attribute handling
Improved logging, support for logging into file and console at the same time
Use 'atexit' module to automatically cleanup dummy files (in case the test is aborted)