Added support for remote user configuration

@roderik

This change adds support for a remote configuration to be fetched containing user configuration files and a Chef recipe configuration.

This is an alternative to using `KITCHENPLAN_REPO`. Instead users can manage configurations remotely and use the main Kitchenplan repo for provisioning a machine. It equally avoids needing to maintain a private clone ( as in my case ).

Setting `KITCHENPLAN_REPO_CONFIG` will fetch the repository specified and place it within `.remote`.

```
|-config
|-- people
|----- <username>.yaml
|-- default.yaml
|-- Cheffile
|-- README.md
```
> Example kitchenplan-config repo

If `.remote` exists the configs within are processed instead of those local to the Kitchenplan checkout.

For chef recipes, the Chefile now within `config` is merged with the one found within `.remote`. This allows overriding default recipes such as chef-dotfiles to point to a users version but also permits adding additional.

Cheers