cmd/jujud: don't enter upgrade mode unnecessarily

Don't enter "upgrade mode" (thereby restricting API logins and
delaying worker startup) if the current software version is the same
as the upgradedToVersion in the agent configuration.
make the linux build import npipe and update dependencies.tsv to re-include npipe.  Now godeps ./... > dependencies.tsv will do the right thing.
Merge pull request #494 from natefinch/fix-npipe

Fix dependencies.tsv and make npipe always a dependency.

All builds now include a dependency on gopkg.in/natefinch/npipe.v2, so godeps ./... > dependencies.tsv will do the right thing.  This required a slight change to the npipe package so it has a file that compiles on non-windows platforms (I just moved the package docs to doc.go).
Removed invalid peergrouper test

An old test that checks that the peergrouper doesn't start with the
local provider was still present even though the peergrouper is now
always run. The reason this test has been passing is because the
peergrouper doesn't start until upgrades are finished (the test was
passing for the wrong reason). Now that upgrade mode isn't entered
unless it is necessary, this test started failing.
Merge pull request #486 from mjs/1350111-unnecessary-upgrade-mode

cmd/jujud: don't enter upgrade mode unnecessarily

Don't enter "upgrade mode" (thereby restricting API logins and delaying worker startup) if the current software version is the same as the upgradedToVersion in the agent configuration.

In addition to the automated tests included with the PR, this change has been manually tested under a variety of scenarios.
Revert "State remove setmongopassword"
Merge pull request #497 from axw/revert-414-state-remove-setmongopassword

Revert "State remove setmongopassword"