Added --oldest-deps flag, which builds using the oldest versions allowed

The --oldest-deps flag makes cabal prefer older version over newer versions when resolving dependencies.

This is useful for debugging to check whether the lower bounds of a package are still valid. The feature is best used on a separate package database or --one-shot to prevent messing up the global package database.