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
particular:
 * 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.

BUG=brillo:858
TEST=cbuildbot/run_tests
TEST=brillo blueprint create foo
TEST=brillo blueprint create //foo --brick bricks/my_brick

Change-Id: Idcc3ce05e6be36d46439b1653cb4f422aa5a775c
Reviewed-on: https://chromium-review.googlesource.com/267391
Reviewed-by: Bertrand Simonnet <bsimonnet@chromium.org>
Tested-by: David Pursell <dpursell@chromium.org>
Trybot-Ready: David Pursell <dpursell@chromium.org>
Commit-Queue: David Pursell <dpursell@chromium.org>
10 files changed