Adding multi-host configuration for Nginx.

To add hosts you need to:

a) Add server.crt and server.key into puppet:///modules/localconfig/<hostname>/
b) Add the host name into an hiera array property "web_domains_external"

e.g., in common.json, add:

"web_domains_external": [ "oae.gatech.edu", "oae.cam.ac.uk" ]

The nginx config structure has been changed such that:

* SSL certs will get put into dir: /etc/nginx/ssl/<hostname>/server.*
* The main nginx.conf now only specifies defaults and includes the other configs from /etc/nginx/oae.nginx.d/*.conf
* Every nginx machine will have 2 standard confs:
  ** /etc/nginx/oae.nginx.d/admin.<webdomain>.conf
  ** /etc/nginx/oae.nginx.d/<webdomain>.conf
* For every external host you add, there is a new conf: /etc/nginx/oae.nginx.d/<externalhost>.conf

Each *.conf file references the appropriate SSL file

Other changes:

* Hosts always redirect to HTTPS
* Fixed some Apt -> Package ordering issues. Now there is a global Class['apt'] -> Package ordering without causing dependency cycles. This ensures repos are always up to date when provisioning
* I've laid some progress on Vagrant, but it's not complete yet. It's possible my machine is too lousy for it to be useful. I'd like to include it in master for now as something to build on
* Changed nginx user to nginx instead of root
* Fixed some issues w/ proxy_read_timeout being too high