Add more Build/Rule/Pool params validation.

This change adds two new kinds of checks to params validation.  First, all
BuildParams must have one or more outputs.  Second, any Pool or Rule referenced
must be visible within the Blueprint scope of the caller (e.g. if it's defined
in another Go package then an Import call must have been made).  If either of
these conditions are violated it will result in a panic.

Change-Id: Ibacb42513882d914c94eade23ef17269db5e8730
7 files changed
tree: c6e3d947ecc8a6f50dd2eea967348a50ef7f3ae1
  1. blueprint/
  2. Blueprints
  3. bootstrap.bash
  4. build.ninja.in