Add binary control file caching to the apt manager

Currently, the control file is extracted from each deb on each freight cache
run and augmented using md5, sha1 and sha256 on the deb. As packages will not
often, if ever change size or content once posted, this seems like a costly
operation without a large benefit. This commit adds a basic caching of those
augmented control files. On the first freight-cache run for a package, the
$PACKAGE.deb-control file will be generated with the sums and filesize of the
package. This file can then be used instead of regenerating the same data on
subsequent runs.
Add source control caching to the apt manager

Similarly to the binary control, the source cache also sums files each run.
This commit puts the source control file in its own cache on the first run, so
this step can be avoided on subsequent runs.
Add a conf setting to toggle source and binary caching

As some users may want the binary and source control files regenerated on each
run, this commit adds a setting to freight.conf to allow the caching to be
enabled or disabled by setting CACHE to on or off. It defaults to off, to
preserve the current behavior.
Add freight-clear-cache to remove the cached control files

This adds a simple freight binary written in the style of freight-cache to
allow users to clear the cached source and binary control files.
Also update binary cache if package filesize has changed

This commit adds a new function to apt.sh to grab the expected binary size from
the control file for a package. It then uses that function to check if the
filesize of a package has changed or disagrees with the cached control file for
that package. If it has changed or there isn't agreement, the cached control is
regenerated.
Clarify comment in freight.conf.example as suggested by dgoodlad
Merge remote-tracking branch 'upstream/master'