Add test for adding architectures on the fly

This test ensures that "dpkg --add-architecture foo" works and
that opening a cache is now a multiarch cache with the added
architecure.

It also improves the tests and adds a new tests/helpers.py that
creates a fake dpkg that can install packages. Plus a new
make_package() method to create test packages on the fly.