Track packages with upper case characters

Hackage packages may be mixed case, but arch packages are lower case.
This script now differentiates the two, by filtering the upper case
packages from `ghc-pkg list`.

Example to reproduce changed behaviour:
* Add `repa` to the package list. `repa` requires `QuickCheck` as a
 dependency. `QuickCheck` is in one of arch’s haskell repositories. The
 corresponding package is `haskell-quickcheck`, so this script adds an
 entry for `quickcheck`.
* `cblrepo` reports `repa`’s dependency as `QuickCheck`, and does not
 detect `quickcheck` as added by this script.
* The change uses `ghc-pkg` to access the correct-case names, works out
 which packages are affected, and then adds the correct mixed/upper-case
 names to cblrepo.db.
* However, one package (`Cabal`) is a `--ghc-pkg`, not a `--distro-pkg`,
 so this must be removed from the list for `--distro-pkg`.
Install as dependency if listed in dependency file