Excise reading from Jekyll::Site into Jekyll::Reader

Move everything that touches the file system to a separate class. This should make auditing the source code easier for the @jekyll/security team. This PR is the first piece of this task. This PR:

- [x] Removes `Convertible`
- [x] Moves all code in `Site` for reading to a new `Reader` class
- [x] Moves all code in `Collection` for reading to a new `Reader` class
- [x] Moves all code in `Document` for reading to a new `Reader` class
- [x] Adds support for reading in `.csv` files for `_data`
@benbalter Will this work ok, you think? It gives users the ability to add CSV files to `_data`.