spec2bp v2 -- support in-review specs

New version of spec2bp:

- takes the project and blueprint name as arguments, instead of a file
- supports not-yet-approved specs (use --in-review to set them "Blocked")
- sets series goal as well as milestone targets
- if the BP and approved spec names don't match, you can use --specpath
  to specify the spec location
- if --specpath is not provided, but the blueprint URL looks like it
  points to a spec document, spec2bp will infer path from that instead
- if milestone or priority are already set, the --milestone and
  --priority parameters are optional (current values will be kept if
  parameter is omitted)
- spec2bp will recognize projects from the oslo projectgroup and use
  oslo-specs for those

Example usage:

Glance's super-spec.rst was approved and you want to add it to juno-2,
with Medium priority:

./spec2bp.py glance super-spec --milestone=juno-2 --priority=Medium

Nova's my-awesome-spec.rst is still under review, but you would like
to add the my-awesome-spec blueprint to juno-2 (marked Blocked). Since
it's located in a non-standard path, we specify it using --specpath
parameter:

./spec2bp.py nova --specpath=specs/kilo/approved/my-awesome-spec.rst
  --in-review --milestone=juno-2

my-awesome-spec is now approved. You want to flip all the approval
bits, but also change its priority to High. There is no need to pass
--specpath again, spec2bp will infer it from the blueprint URL field:

./spec2bp.py nova my-awesome-spec --priority=High

Change-Id: Idba1f042ffb836ac782f50d91802b2a6f4ff44c1
Merge "spec2bp v2 -- support in-review specs"