Persist locally registered services and checks

Writes local services and checks to JSON files in the data directory, and loads them on agent start. The files are removed as services and checks are deregistered. Files seemed like the way to go since clients don't use MDB.

When checks are loaded, their health status is marked critical to avoid placing potentially unhealthy services into the service pool.

Fixes #464.

/cc @armon, let me know if I am missing anything here.