set utf-8 as default encoding on all python files
force-parse non-unicode files using unicode_dammit
remove unnecessary argument from Worke.__init__()
fixed issue where tailed lines were not being properly sent to the callback
centralize file-reading using classmethod open()
Ensure that we use the proper encoding when opening a file. Closes #104
Moved logger call to a more intelligent spot
updates to tail_lines option

- Fixed issue where the encoding wasn't properly read
- Properly handle block stepping
- Ensure we don't accidentally read a portion of a line when it has only been partially read