Add provider based test filters for functional tests
Add functional tests for (apt) package resource

Repro/regression test for CHEF-4406 included but is marked pending.
Fix bad const. ref in deprecation/provider/template

Fixes CHEF-4406 http://tickets.opscode.com/browse/CHEF-4406

Calls to Chef::Provider::Template#template_location and #template_finder
will now correctly reference the Chef::Provider::TemplateFinder class.
Chef::Provider::Package#preseed_resource uses these methods expecting an
error to be raised only if there is no template with the desired name,
which triggers a fallback to cookbook_file-based preseed files.

This patch restores the template-based preseed functionality, but will
trigger deprecation warnings from within Chef::Provider::Package's
internal code.
Standardize on `:arch` for architecture-based filtering

Fixes test failures on 32 bit platforms by correctly filtering 64
bit-only tests
Add methods to query for template/file existence in run context

- Convenience methods added to CookbookVersion to query if a cookbook
  file or template is available for a given node in that cookbook
- Convenience methods added to RunContext to query the existence of
  cookbook files or templates
Remove deprecated method usage from package provider

Instead of using internal methods to trigger a template load and
rescuing the resulting error when a template is not found, query the run
context to determine if the cookbook has a given template.
Add additional scenarios for package tests

Adds functional test coverage for install, upgrade, remove, purge
actions when the specified package is installed at either the latest
version or at an older version.
Remove commented test code
Verify that templates are preferred to files for preseeding
Remove unused methods from functional tests
Merge branch 'CHEF-4406'

- Fix (silent) errors using templates to preseed packages
- Add functional tests for package provider (only apt for now)
- Add methods to CookbookVersion and RunContext to query whether a template or
  cookbook file is available.
- Fix package provider calling deprecated methods on template.
Convert apt package provider to shellout

- Convert apt package provider to shellout. Improves content of error
  messages when apt fails.
- Refactor tests to avoid stubbing value objects
Fix package remove/purge tests for older debian/ubuntu
Add inline doc for private apt package method
Purge remaining references to run_command_with_systems_locale
Merge branch 'apt-provider-shellout'