Handle release parameter more sensibly in force manifest.

Use release parameter to construct $release_string.

The release parameter may also be set to false to use the system's
default release (so just force a specific version). Use false as the
default setting instead of 'testing'.

Change $install_check to also check if package is installed from the
right release, instead of just checking the version.
Don't use hardcoded provider in force manifest.

Use $apt::params::provider instead.
Update specs to test all parameter cases
Update example apt::force tests
This switches us to doing a `test -s` instead of checking for the
files existence as add-apt-repository --remove leaves a 0 byte file
behind instead of deleting everything properly.
Fix other tests to include apt appropriately.
Merge pull request #169 from apenney/fix_ppa.pp

This switches us to doing a `test -s` instead of checking for the
FM-103: Add metadata.json to all modules.
Merge pull request #170 from apenney/metadata

FM-103: Add metadata.json to all modules.
This work flips from onlyif to unless (mistakenly looked at the
wrong return code).
Merge pull request #172 from apenney/fix-ppa

This work flips from onlyif to unless (mistakenly looked at the
Prepare 1.4.0 release.
Fixed double-space typo

This bug has been introduced in 1.2.0 - b3d67c8
Fixed tests for cf04f76
Merge pull request #175 from lkoranda/patch-1

Fixed double-space typo
Merge pull request #173 from apenney/140-release

Prepare 1.4.0 release.
Merge pull request #140 from hunner/apt_force

Handling of release parameter and apt provider in force manifest
getparam() isn't available in all stdlib versions.

There's no need for getparam() here when a regular variable works
just fine.
Merge pull request #178 from apenney/getparam-removal

getparam() isn't available in all stdlib versions.
If architecture is provided, an invalid source line is generated (no space between location and architecture)