Moved and harmonized style guide.
Merge pull request #338 from TheMue/doc-harmonize-contributions

Moved and harmonized style guide.

Files have been in two different folders. Additionally some internal changes, eg. headings with hashes (better for heading 3 etc.).
Bootstrap no longer cleans up if it can't tell whether an environment is bootstrapped or not.
Merge pull request #319 from katco-/lp-1340893-bootstrap-destroy

Bootstrap no longer cleans up if it can't tell whether an environment is bootstrapped or not.

Added a test to simulate an instance in which this might occur. Tested locally; some tests were failing, but they looked innocuous and related to connecting to mongo, not these changes.
Related to https://bugs.launchpad.net/juju-core/+bug/1340893
Agent config mutators can now return errors

Previously, functions that modify agent config could not return
errors, requiring some gynamastics to get errors out of these
functions. By requiring that errors are returned some areas that call
ChangeConfig are now cleaner.
Merge pull request #341 from mjs/improve-agent-change-config-error-reporting

Agent config mutators can now return errors

Previously, functions that modify agent config could not return errors, requiring some gynamastics to get errors out of these functions. By requiring that errors are returned some areas that call ChangeConfig are now cleaner.
s/IsAction/IsValidAction/
s/IsNetwork/IsValidNetwork/
s/IsMachine/IsValidMachine
s/IsService/IsValidService/
s/IsUnit/IsValidUnit/
s/IsUser/IsValidUser/
Update charm and names dependencies.
Move user manager types to state/api/usermanager.

Making way for UserInfo as defined in the identity spec. Moving
usermanager RPC types to the client package to avoid conflicts.
Move usermanager types, ModifyUser to apiserver.
Merge pull request #343 from howbazaar/valid-names

Update for new valid names in names package.
Clean up imports.
Merge pull request #344 from cmars/id_usermanager_refactor

usermanager types refactoring

Relocating usermanager-specific API param types. We want to introduce a UserInfo type for login API purposes which conflicts with a usermanager-specific structure with the same name but different purpose.

Relocating the type to the apiserver subpackage to keep the type out of a common ever-growing state/api/params package.
state: only update API host ports if changed

If the API host ports haven't changed, don't
update them. This avoids spamming the transaction log
with unnecessary writes.

Fixes https://bugs.launchpad.net/juju-core/+bug/1345832
state: handle concurrent calls to SetAPIHostPorts