Prefer setuptools if available
Use a context manager to avoid warnings about an unclosed file
Allow setup.py to be imported (for inspection and testing).
Use BytesIO for Python 3 compatibility
Moved logic from bin/qtfaststart into the package as qtfaststart.command

--HG--
rename : bin/qtfaststart => qtfaststart/command.py
Resave with excess whitespace removed
Implement command.run() entry point and move path handling back to script
Fixed syntax errors on Python 3
Add '__main__.py'. This allows the command to be invoked with simply 'python -m qtfaststart'.
Fix issue with atom types on Python 3
Extract _read_atoms generator
Use an Atom namedtuple for clarity
Extract _ensure_valid_index
Force integer division on CHUNK_SIZE
Make use of Atom attributes through process()
Update documentation on find_atoms
Created _read_atom_ex, which extends read_atom to return Atom instances
Update _read_atoms to use _read_atom_ex, which substantially simplifies the implementation.
Remove superfluous parens
Extract _find_atoms_ex