Add option to set fixed hosts for chromecasts instead of discovery
Re-organized core for better reusability
Merge remote-tracking branch 'up/master' into process-source-up
Addressed the comments in the issue. pep8+pylint seem fine now. (still works, too.)