rewrite nginx module

Problems with the current module
--------------------------------
* Confusing to configure:
  #  $install='true' or 'template' causes an nginx config
  #  to be installed from either a file or a template, respectively.

* Receives a base template or file name as a parameter, and then reaches
  outside module boundaries to /files or /templates to load it.

  #  If $install='template' then the config file is pulled from the named
  #  template file.  If $install='true' then a config file is pulled
  #  from files/nginx/sites/<classname>.

* Poorly abstracted (why is 'package' a full class?)

* Contains yucky hacks (e.g., 'donotify' parameter).

Replacement module
------------------
* Suuuuuuuuuuuper simple.

* Public interface amounts to a single resource type: nginx::site.

* Like a file type, in that it takes either a 'content' parameter or a 'source'
  parameter.

* Takes care of package dependencies, service notifications, etc.

* Cleans up after itself: /etc/nginx/sites-{available,enabled} managed
  recursively, so removing an nginx::site declaration cleans up the
  configuration file and restarts the Nginx service.

* Replaces 'donotify' param with 'managed' param on the class. If false, file
  changes in /etc/nginx/{conf.d,sites-available,sites-enabled} won't trigger a
  service refresh.

Problems / issues
-----------------
* Very lightly tested.
* protoproxy changes basically not tested at all.
* Scope of change touches critical infrastructure.

Change-Id: I957465eddc17d0f9b174e967e02d5d5b0732107e