Making merge upstream easier

Run `rsync` before provisioning, so that we can add files in /vagrant/site-*/ directories to implement the customizations to the sites.

The idea is that we keep our customization in different places (site-config or site-database or provision-custom.sh) and rsync them before we provision the environment.

This will reduce confliction after merging the VVV changes, and also makes it easy to see the difference between VVV and VVV for meta.

## Change Log

* Move `config/` to `site-config/`
* Move `database/` to `site-database/`
* Move `www/vvv-hosts` to `www/hosts/vvv-hosts`
* Merge `config/` from VVV
* merge `database/` from VVV
* Merge `www/` from VVV
* Rename `provision/provision.sh` to `provision/provision-custom.sh`
* Add `provision/provision-pre.sh`
* Update Vagrantfile
    * Change synced_folder option nfs to rsync for `config/`.
    * Change synced_folder option nfs to rsync for `database/`.

If you want to sync `config/` or `database/`, you have to run `vagrant rsync`.

## Provisioning process

After `vagrant up`, Provisioning will start like following.

* Run provision-pre.sh.
    * rsync `site-config/` to `config/` and `site-database/` to `database/`
* Run provision-custom.sh
* Run provision-post.sh

## How to merge upstream

```
#!/usr/bin/env bash

set -ex

mv Vagrantfile Vagrantfile.bak
mv README.md README.md.bak
git remote add upstream git@github.com:Varying-Vagrant-Vagrants/VVV.git
git fetch upstream
git merge upstream/master
mv Vagrantfile.bak Vagrantfile
mv README.md.bak README.md
```