Restructure Drydock so that blueprints are instances in the DB
Summary:
(this diff used to be about applying policies to blueprints)
This restructures Drydock so that blueprints are instances in the DB, with an associated implementation class. Thus resources now have a blueprintPHID instead of blueprintClass and DrydockBlueprint becomes a DAO. The old DrydockBlueprint is renamed to DrydockBlueprintImplementation, and the DrydockBlueprint DAO has a blueprintClass column on it.
This now just implements CAN_VIEW and CAN_EDIT policies for blueprints, although they are probably not enforced in all of the places they could be.
Test Plan: Used the create-resource and lease commands. Closed resources and leases in the UI. Clicked around the new and old lists to make sure everything is still working.
Reviewers: epriestley, #blessed_reviewers
Reviewed By: epriestley
CC: Korvin, epriestley, aran
Maniphest Tasks: T4111, T2015
Differential Revision: https://secure.phabricator.com/D7638