Don't rebuild iptables rulesets immediately for zeroconf.

Previously, if node provisioning failed halfway through, we'd end up
with an iptables ruleset that blocked SSH access.  That's no good for
development.

(Hopefully this won't affect zeroconf startup.)
Extract the CNAME publisher from the ncs_navigator cookbook.

It's really a Zeroconf-related detail.
NCS Navigator deployment, version 2.0.0.

This monolithic commit splits up the monolithic app recipe into the
following still-monolithic-but-probably-reasonably-so recipes:

- cases
- cases_devenv
- ops
- ops_devenv
- postgresql_env
- psc
- psc_devenv
- warehouse

Additionally, we have more monitoring in the form of the following
recipes:

- cas_client_monitoring
- db_client_monitoring

This was done because NUBIC is moving towards a new process formation in
which we have one database server, one CAS server, N Cases servers, and
one PSC and Ops instance serving those N Cases servers.

Continuing with the "major version bump means it's open season on
backwards compatibility" theme so common in software development, many
attributes dealing with Cases and Ops have now been moved from
ncs_navigator/{core,staff_portal} to ncs_navigator/{cases,ops}, and the
Cases and Ops usernames have followed suit.

Deployment paths have not been changed.  This is because they're present
in the application codebase and therefore cannot be changed without
revisiting the application deployment code, and I don't think anyone
really wants to do that right now.
Adopt app development conventions for Vagrant environment.

The "local_" prefix should probably be removed from the app development
environments at some point, as the development and Redis databases
aren't always local (i.e. in this setup).