Pass --ignore flag to pacman

This fixes issue #279, by adding the `--ignore` (and `--ignoregroup`) flag(s) to the recognised options.

Note that the option and argument *must* be separated by an `=`, i.e. `--ignore=pkg`; `--ignore pkg` will not work, even though pacman normally accepts this. This limitation is due to GetOpt not supporting those kind of arguments to options.

The old `Ignore` flag that was used for the `--aurignore` option was renamed to `AURIgnore`, and `Ignore` has been reused for the `--ignore` option. The `FlagMap` type had to be changed in order to support mapping certain options with arguments back to their string representation. Furthermore I've included some minor bits of refactoring.

Cheers,
Duncan