Add yaml config option

This pull request extracts some common code from a couple Cru apps that use Deployments, and creates a yaml configuration format that those apps can use instead of custom java implementations of `Application`, `DeploymentConfiguration`, etc.