Ensures upstreams are defined before vhosts

nginx doesn't include files in a defined order, but the ordering between
nginx::resource::upstream and an nginx::resource::vhost which uses that
upstream is important.

Changes the auto-generated vhost filename to no longer match *.conf,
adds a directory in which to put upstream/*.conf files, and includes
everything in the right order.