Add tests for contracts
Normalize ns forms
Add delayed-argument? predicate
Make contract verification a runtime decision
Add remote-file-arguments schema check
Add pallet.crate/service-phases

Function returns a map of service phases for service actions.
Add crate-install-settings schema

Provides a schema for checking install strategy keys in crate settings.
Update service abstraction doc strings
Factor out get-for into p.environment-impl
Split error handling between p.c.primitives & api

The existing operations error handling (throw-operation-exception, phase-errors
and throw-phase-errors) is moved to p.c.primitives, and the functions in p.c.api
now take a result as argument.
Enable default metadata on phases from environment

When phases are defined in the environment, this ensures that the phases have the
default metadata applied to them.
Fix mock-exec-plan to generate a valid group

Fixes pallet.core.data-api/mock-exec-plan so that the group spec it
generates matches the group-spec schema.
Fix /var/lib/pallet path when using :script-dir

When an action is executing, make the action map available in the session :action key,
and use this to ensure the correct path is built under /var/lib/pallet.

Fixes #238