WIP: Implement Arbitrary Collection Support

Fixes #1941.

- [ ] Configuration handling for `collections` key
- [ ] Configuration handling for `render` key
- [ ] Read in all `Collection`s
- [ ] Render collections in `render` config array
- [ ] Figure out how `pages` should work with relationship to `Collection`
- [ ] Clean up `Site` with any pages/posts handling
- [ ] Write a million tests
- [ ] Security review (/cc @jekyll/gh-pages)