Use private when available

This is in preparation for storing a "scrubbed" version of private team data in `_data/public`.

The idea is, 18F folks will have access to the data-private submodule mounted at `_data/private`. Other folks playing with the Hub will have access to data we check into `_data/public`, which an 18F team member will update by running a script against the data-private repo. This will be the same mechanism used to update the data within 18F/18f.gsa.gov and 18F/Dashboard.

May be easier to review commit-by-commit, as there's some refactoring happening in this PR, too. Turns out faking out Jekyll::Site cut the test suite time down from 4.5s to 5s down to 0.6s.

@afeld, @kaitlin, or @gboone, care to do the honors? Also, @afeld, I can split the test file up in this PR or in a new one.