Add client_package_ensure parameter and swift::client class

In the actual state of the manifest we can only setup package_ensure to
absent|present|latest. This commit allow end users to pin swift* and
swift-client to a specific version. (note that swift* and
python-swiftclient version are not the same).

A new class (swift::client) manage now client packages, and we keep the
retro-compatibility of commit 020b7723cbbe75fbcae89514a1e1882ae807fb27.

Change-Id: I9bcc5a0f9d0a93a812fb574c4571fb9584077e4a
(cherry picked from commit 21f9eff35c91b987803a9241f867b4443def6979)
Include swift::params in swift::client

Otherwise swift::client can't fetch the name of the package by itself
if swift::params doesn't happen to be in the catalog.

Change-Id: I3d15d0ce68ca084eb4573764b05e8723befbd7e7
(cherry picked from commit 2c6261251cd8e94aa26c0e91003878c25ba90726)