Allow for grenade upgrades within a release

We need to be able to use grenade to upgrade services within a release
instead of upgrading services across releases. This will allow us to
test the nova baremetal to ironic upgrade path and the nova network to
neutron upgrade path.

To do this refactor the DEVSTACK_GATE_GRENADE* variables. Condense them
down to a single DEVSTACK_GATE_GRENADE variable that has more than just
0 and 1 binary states. This variable will state which type of grenade
test to do and handle that within devstack gate.

This change is backward and forward compatible for
DEVSTACK_GATE_GRENADE=1 and DEVSTACK_GATE_GRENADE_PARTIAL_NCPU=1 in
order to get this change through the gate without manual merging.

Change-Id: I4f102e27b422a5260cd0d5e40e00a5addf87911a
Merge "Allow for grenade upgrades within a release"
Merge ZUUL_REF branch

Change-Id: Ia8801a2aec4211681d42e8295df93188cf03879e
Update to force stack to run on saucy

Change-Id: I133f004ec749dfd2c360474936b3421d146c33ab