support data sources

Data Source enables you to load data, serialized as YAML, from a directory in Jekyll's source: `_data`.

Here's an example to illustrate:

In my `_data` directory, I have `members.yml`, which contains the following:

```yaml
- name: Ben Balter
  company: GitHub
  location: Washington D.C.
- name: Parker Moore
  location: "Ithaca, NY"
```

Jekyll loads this data (in this case, an Array of Hashes) into `site.data.members` (note that the namespace is based on the filename) which can be used in Liquid thusly:

```html
{% for member in site.data.members %}
  <p>
    {{ member.name }} lives in {{ member.location }}
    {% if member.company %} and works for {{ member.company }}{% endif %}
  </p>
{% endfor  %}
```

This allows us to input arbitrary data into our templates _without_ the use of `_config.yml` and it is re-read each time a file changes when running `jekyll` with `--watch`.

- [x] Implement
- [x] Tests
- [ ] Figure out best namespace: `site.data`, or `data`?