Refactors.

- Fixed bug in _read_by_block. The complete data wasn't being returned.
- Added modules for missing functionality from corresponding *.c files, and moved some functionality from archive_read.py to their own modules for the same reasons.
- We now use the format and filter "codes" rather than names if the format or filter is to be specified.
- We now decode the "filetype" flags into a named-tuple.
- Updated docs.
Bugfixes.
Moved API to sepcific module. Modernized setup.

- Moved the entities exposed in `libarchive` to `libarchive.public`. Otherwise, we can't load the main package module loader, which has the version.
- Created constants API.
- Rewrote README as RST.
- Modernized the setup, which now implements the RST and requirments files.