Implement nested locations

This allows finer-grained control of individual apps, while still
allowing users to conveniently inherit settings from enclosing
scopes.

Previously:

server {
  location /marketing {
    simple_scheduler 100;
    log_dir /var/log/shiny/;
    site_dir /srv/shiny-server;
    run_as shiny;

    log_dir /home/marketing/shinylog;
  }
  location / {
    simple_scheduler 100;
    log_dir /var/log/shiny/;
    site_dir /srv/shiny-server;
    run_as shiny;
  }
}

With this commit, you can now do:

server {
  location / {
    simple_scheduler 100;
    log_dir /var/log/shiny/;
    site_dir /srv/shiny-server;
    run_as shiny;

    location /marketing {
      log_dir /home/marketing/shinylog;
    }
  }
}