Add groups to set of resources rbuild can list (APPENG-2984)
Refactor imagedef creation

Move command and code into imagedefs plugin.
Catch HTTPConflictError during user creation (APPENG-3073)
Catch generic HTTPErrors from robj (APPENG-3073)

We shouldn't display a traceback just because robj returned an
unexpected HTTPError, so catch this in our main function and nicely
print the error message.
Refactor images plugin methods (APPENG-2993)

raise specific exceptions rather than generic PluginError.
use Images._getProductStore
Cancel images by id (APPENG-2993)

Image selection by name leads to multiple problems: image names are
ambiguous and require further information to ensure the right one is
selected, supporting selection by both name and id is cumbersome (what
if an image has an integer name), help text is more confusing unless
effort is made to determine if the user is using a name or an id. So use
Id exclusively, instead. Also refactor cancel code into images plugin
with other code related to image manipulation.
Raise MissingJobIdError when no jobId is found to watch (APPENG-2994)
Validate email addresses (APPENG-3107)

Adds some basic email validation to user creation and editing.
Enforce proper http url syntax in rbuilder coonfigs (APPENG-3106)

Currently, we do not enforce any constraints on the serverUrl or
rmakeUrl config options. However, internall calls assume that these are
valid http urls, and raise unhandled exceptions if these values are not.
Best place to enforce this is in the config file itself, so this change
introduces the CfgHttpUrl config type. Conary config parse errors are
now caught by the main handler as well, so we get nicely formatted error
messages.
Simplify the saving of a change to the proddef (APPENG-2486)
Merge branch 'feldspar' of ssh://scc.unx.sas.com/git/rbuild into feldspar
Use the easier interface for saving a product definition to the store in the edit plugin
I hate these word crimes
Don't allow non-admin users to toggle can create (APPENG-3024)