Improve organization and structure

This is a big PR that accomplishes a few things:

1. Separate group_vars/all into environments
2. Add environment hosts files
3. Consistent YAML formatting

Previously it was difficult to use this playbook for different servers/environments because everything was in `group_vars/all` and not separated. Now there's explicit and separate hosts and group_var files for `development`, `staging, and `production`.

This makes it much easier and more clear what files to change.