Merge tag 'pallet-0.8.0-beta.7' into develop

pallet-0.8.0-beta.7
Updated version for next release cycle
Add assoc-in-settings action

This can be used to put a value into the settings at a specific path.  The value
passed may be a node value, or some other delayed expression.
Fix os-map-lookup

The os-map-lookup was incorrectly using the string returned by os-version,
without converting it to a version vector.
Remove lift from pallet.core.operations/converge

Factor out the lift from the tail of pallet.core.operations/converge, and make
pallet.api/converge use pallet.core.operations/converge and
pallet.core.operations/lift.
Add live test for pallet.core.operations

Adds pallet.test-specs/operations-test with role :ops, which tests
p.c.o/lift and p.c.o/group-nodes, and operating on individual nodes.
Add group-nodes and lift-nodes in pallet.api

These provide api functions for working at the node level, rather than just the
group level.
Make lift and converge synchronous by default

pallet.api lift and converge revert to being synchronous by default.  Pass
:async true to enable the return of an Operation and have call complete
asynchronously.  Also adds :timeout-ms and :timeout-val, that control the
timeout behaviour of the synchronous operation.

This breaking change as against 0.8 beta's, and is a reversion to 0.7 behaviour
by default.
Add rolling-lift, to lift nodes one at a time

Adds pallet.api/rolling-lift, which can be used to apply phases to nodes one at a time
with an optional delay between nodes.
Fixed DEBUG log exception for :admin-user without keypaths

If the admin-user defined in the environment is defined with :username and
:password and without private-key-path/public-key-path pair, when DEBUG log was
turned on for pallet.main-invoker it failed with a NullPointerException.

Now if values are nil empty string is logged instead.
Fix mock-exec-plan for synchronous lift
Fix down task for synchronous lift
Parameterise lift and converge execution

Adds the :partition-f, :post-phase-f, :post-phase-fsm and :phase-execution-f
keywords to lift and converge.

Enables the use of partitioning, post phase and phase execution functions on
converge and lift.
Fix lift to pass all nodes as the service-state

The new pallet.core.operations/lift was passing only the current target nodes as
the service-state, which meant phases could only see nodes within the current
target when using nodes-in-group, etc.
Static tags for node-list provider

Add a new tag-provider for the node-list provider enabling these nodes to have
predefined static tags.

The :bootstrapped tag is defined with the value `true` in order to avoid the
bootstrap phase to be run on the `pallet up` action.
Remove shadowing warning for delay
use :apt by default on Ubuntu
Make :apt, :aptitude equivalent for package-source

In package-source, and packages do not distinguish between :apt or :aptitude.

Also fixes test for changing default to :apt rather than :aptitude.
Use software-properties-common in quantal and up

To install ppa: repositories, add-apt-repository is used. In quantal and above
this has moved from python-software-properties to software-properties-common.

Fixes #229
Ensure :default-service is respected in tasks

Any default service that has been configure should take precedence.