close file before renaming

Renaming an open file is not possible on windows
Adds the 'maas-bridge-interface' option to MAAS configuration
	- By default 'eth0' is used, but this fails on some setups like LP: #1271144 when
	using (p1p2, eth2, ..) interfaces.
- Minor fixes according to @wallyworld observations
- Fixed according to @axw comment.
	- For backward-compatibility, network-bridge is an empty string by default "eth0" will be returned.
Cleanup for new names.ActionTag refactor

hide implementation details more, rearrange code layout, simplify
Use the NewAPIClient method from the env command.
Port the plugins to not use EnvName.
Rename HydrateActionTag to JoinActionTag

update names dependencies
Merge branch 'master' into actiontag-refactor
Update Makefile with CI infrastructure changes

The CI scripts do a few hacks to our Makefile so it works better for them.
Bring in those changes, and also cut down the number of packages we install
by omitting build-essential and using the --no-install-recommends flag.
dependencies.tsv update for names package update
Ordered the lookup of machine IDs to guard against randomly ordered map key.
Merge pull request #258 from bz2/makefile_build_updates

Update Makefile with CI infrastructure changes

The CI scripts do a few hacks to our Makefile so it works better for them.
Bring in those changes, and also cut down the number of packages we install
by omitting build-essential and using the --no-install-recommends flag.
Merge pull request #259 from katco-/1329637-map-ordering

Ordered the lookup of machine IDs to guard against randomly ordered map ...

In Go v1.3, map ordering was intentionally randomized to discourage relying on maps which were coincidentally ordered how expected. This corrects a non-deterministic bug in one of the tests which was caused by this change to Go.
Merge pull request #257 from johnweldon/actiontag-refactor

ActionTag refactor leading to state package refactoring too
Merge pull request #251 from howbazaar/env-cmd-replace-open

Use the NewAPIClient method from the env command.

Another piece of the puzzle.  This is what I had hoped the entire work would be.

This work is the simple part.
Make sure the make targets check the dependencies.
Only do godeps when environment set.
Merge pull request #247 from howbazaar/make-godep

Make sure the make targets check the dependencies.

I tend to run the tests with 

```
make check
```

and I get annoyed when things are out of date.  This branch adds additional make targets to run the godeps command when building, checking or installing.
Merge pull request #260 from howbazaar/env-cmd-plugins

Port the plugins to not use EnvName.

This branch introduces another intermediate structure that provides a method to prepare the environment.