Fix p.c.o/lift and converge to accumulate phase results

Only the last result was being returned.
Add version to pallet.core.api
Only add a :errors key to the result when errors are present

When grepping logs, it is annoying to have empty :errors values.
Improve test cases
Fix p.c.o/node-count-adjuster to correctly remove nodes
Fix node removal in p.c.operations/converge
Update top level lift and converge to cover 0.7.x use cases
Update assoc-settings to return values rather than session

The session can get very large, and having it returned as the result makes
debugging more difficult than it needs to be.
Add executed script to result map

Ensure the executed script is available for debugging, logging, etc.
Fix stack overflow error in supported-providers

This was caused by a mutual recursive invocation of supported-providers in:

(p.c/supported-providers)->>(p.c.i/supported-providers)->(p.c/supported-providers)...
Make live-test more robust to strings vs keywords in group names
Add def-collect-plan-fn

Allow definition of collected plan functions
Merge image credential with admin user

The key reporting from jclouds getCredential has a bug, so we just use
the admin user's key
Make sudoers a collected plan function
Add a deprecated pallet.utils/make-user for compatibility
If :sudo-user is set on a script action, make script readable

When executing script with a different user, ensure the script file
is readable by 'other'.
Fix script mode change

Forgot the pom change, and missed a send-stream call.
Fix send-text call to pass map for options
Add return-value-expr

This macro allow the construction of a new action return value
using the value of previous action return values.
Extend DelayedArgument to maps

This allows return values to be passed as part of a map to actions.