perl: add Repo.pm
Extract common repository logic from `aur-repo-parse.pm` to `AUR::Repo`
that can be reused by different scripts. The main motivation is
`aur-sync` which uses its own logic to filter out entries from
`aur-depends`, which leads to certain limitations (i.e. #1140, #1136).
This logic can then be replaced by an `aur-sync--depends` perl
implementation using `AUR::Repo`.
`AUR::Repo` follows `AUR::Depends` in that format/printing functions are
left in the porcelain, `aur-repo-parse`. The definition of `pacman`
database attributes follows `aur-format`, i.e. strings pointing to an
attribute type and label.