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;
    }
  }
}
Automated tests for nested locations feature
Removed  and added test.
Add  back to config so we can give a more meaningful error message.
Don't generate docs on application, exit process with error code if crash on application.
Bumped version to 0.4.2
Properly merge when src has an object and target doesn't.
Updated NEWS.
Merge pull request #58 from trestletech/nested-locations

0.4.2 - Support nested locations instead of `application` block.