brillo blueprint: create `brillo blueprint` tool.

Creates `brillo blueprint` as a tool to help users create blueprints
without manually creating the .json file.

Also modifies blueprint_lib to match brick_lib closer in behavior. In
 * Raise an error when trying to create a blueprint at a non-empty path.
 * Verify during creation that all specified BSP/bricks exist.

Adds some config file helper functions in workspace_lib for
both brick and blueprint use.

TEST=brillo blueprint create foo
TEST=brillo blueprint create //foo --brick bricks/my_brick

Change-Id: Idcc3ce05e6be36d46439b1653cb4f422aa5a775c
Reviewed-by: Bertrand Simonnet <>
Tested-by: David Pursell <>
Trybot-Ready: David Pursell <>
Commit-Queue: David Pursell <>
10 files changed