Remove session functions from pallet.target

Adds the pallet.target-info namespace.  Remove the use of
pallet.core.node-os from pallet.plan.
Refactor p.core.node-os into p.crate.node-info
Split out node-info phase in create-targets
Set node-info on new targets in create-targets
Add :record-all action option

The :record-all action option is used to control the recording of
action-option results.  When set to false, only the action summary
and any error is recorded.  Defaults to true.
Add execute-plan-fns test with middleware
Add phase middleware tests