Added the @ syntax for reading individual service configuration values out of files.
Merge branch 'master' of https://github.com/juju/juju into set-add-at-syntax
Add ActionWatcher on state
Added some help information.
Add ok check for interface{} --> string type assertion
Add tests for coalescing added actions, and excluding removed actions
Merge pull request #128 from johnweldon/action-watcher

Add ActionWatcher on state

First part of adding Action Watchers. Start with state package and will move on to api and apiserver packages next.
Added file size limit of 5M.
Merge branch 'master' of https://github.com/juju/juju into set-add-at-syntax
Merge pull request #131 from TheMue/set-add-at-syntax

Add @ syntax to set command

Added the @ syntax to the set command for setting service options. It allows that the value for an option can be read out of a file:

juju set myservice myoption=@valuefile.txt

See also

https://bugs.launchpad.net/juju-core/+bug/1216967
Add user info cmd

Add the`$juju user info` cmd to call the recently landed UserInfo API
method. See user docs in user_info.go for an outline of how `juju
info` behaves.
Merge pull request #126 from waigani/user-info-cmd

Add user info cmd

Add the`$juju user info` cmd to call the recently landed UserInfo API method. See user docs in user_info.go for an outline of how `juju info` behaves.
Always close mgo.Iter after use

The documentation for mgo.Itr says that the iterator should be closed after use. Reading the source the difference between Iter.Close() and Iter.Err() is the latter doesn't close the iterator (cursor), but both will return any error that occured so are interchangable in this respect.

Replace all the calls to Iter.Err() with Iter.Close, do some general cleanups and replace fmt.Errorf with errors.Errorf in affected functions.
Ignore empty machine addresses
Merge pull request #135 from davecheney/close-mongo-iterators

Always close mgo.Iter after use

The documentation for mgo.Itr says that the iterator should be closed after use. Reading the source the difference between Iter.Close() and Iter.Err() is the latter doesn't close the iterator (cursor), but both will return any error that occured so are interchangable in this respect.

Replace all the calls to Iter.Err() with Iter.Close, do some general cleanups and replace fmt.Errorf with errors.Errorf in affected functions.
mend
Merge pull request #136 from wallyworld/ignore-empty-machine-addresses

Ignore empty machine addresses

Older versions of juju could write empty machine addresses to state. This messes up the peer address selection when upgrading a nonha env to a ha one. So we add code to ignore such empty addresses.

Fixes: https://bugs.launchpad.net/juju-core/+bug/1329123
Action Watcher can optionally filter on prefix
Add tests for Unit.WatchActions
Refactor filterFn to make loop() function cleaner