Added support to create <username>.yml if it doesn't exist when using a config repo

@roderik,

This change removes the dependency on explicitly having `people/<username>.yml` and it's fallback `roderik.yml`.

Given that `default.yml` is considered as part of config resolution some users may opt to only add configuration into this file. This scenario would generally be for single user who doesn't have a need to manage multiple users.

In a multi-user scenario, `defaults.yml` could still be applied but having `roderik.yml` as a fallback would cause an error if it didn't exists in the custom config repo.

Also as part of this change, the user is now prompted to create a user config file if it doesn't already exist when using a config repo.

If they decide to create \<username\>.yml, a new branch is created `people/<username>` and any config changes are committed here.

A user can then push their branch, allowing the option in the future for it to be merged into master.

The next time a user needs to provision a machine they then have two options.

1) Specify a branch for the config repo

```bash
Please enter the clone URL of your git config repository: --branch people/<username> https://(host)/(org|username)/kitchenplan-config.git
```
eg:

```bash
Please enter the clone URL of your git config repository: --branch people/indieisaconcept https://github.com/indieisaconcept/kitchenplan-config.git
```
or

2) Specify a vanilla config repo url