No relevant message when stop a stopped VM

When user tries to stop a stopped VM, there is no need to stop it again,
and We need return it's vm_state.

Fixes bug 1181934

Change-Id: I71772dfcead440cb49b6ccdbb4e1a891475bb75e
(cherry picked from commit 62ca3783ce4fcc0b03e96936972abc83b54c772f)
Fix simultaneous timeout with smart iptables usage

Simultaneous boots were getting timeouts in allocate_for_network.
This was due to our inefficient use of iptables where we attempt
to recreate the same rules over and over using initialize_gateway,
plug, and restart_dhcp.

This patch makes the iptables code a little bit smarter by only
shelling out if the rule list has changed. Note that there is
a small difference in the interpretation of duplicate rules.
Previously, the last copy of the rule would win whereas now
the first copy of the rule will win. Multiple copies of the same
rule were never supported. This means the only thing that one
needs to remember is it is necessary to remove a rule and re-add
it if you want to move it later in the list.

Fixes bug 1199433

Change-Id: I9920f8d6aa269d9b3bfd88a8dbbb00f859deb158
(cherry picked from commit 176c483cdf2bc8eff7cfff4a9b0ac0dd98239da1)
Merge "Fix simultaneous timeout with smart iptables usage" into stable/grizzly
Merge "No relevant message when stop a stopped VM" into stable/grizzly
Merge branch 'stable/grizzly' of https://github.com/openstack/nova into grizzly/stable