improve: add --arch option

Earlier the "--fetch" option was added "to cache" packages on a
different (then Cygwin) machine. But there can be architecture
difference. Introduce an option to redefine architecture for fetching
x86 packages on a x64 machine, and vice versa.
improved: add `expandtab`, `tabstop` and `shiftwidth` to vim modeline
refactoring: move code to `fill_packages` function

For further improvements.
improved: added "--category" option

To fetch [and install] packages from specified category only.
Useful to fetch "Base" category packages on a Linux box for a fresh installation.
refactoring: code concerning --fetch
refactoring: code concerning --force
fixed: error "/etc/setup/installed.db is absent" when run with --prefix on a "clean system"

Option "--prefix" is used mostly on a Linux box to fetch packages. There
is an error "/etc/setup/installed.db is absent" if folder PREFIX does
not contain such a file structure.
improved: skip postinstall scripts if --prefix is set

There is no reason to execute postinstall scripts when we use a fake
system.
fixed: failed to install dependencies when installation was interrupted

Required packages must be installed first to avoid situation when
package is installed but required packages can not be installed after
interruption (or failure) (because "package is already installed"; and
"--force" do not help for all dependencies tree).
improved: fetch dependecies recursively
fixed: tmp file is not removed for a package if latter is obsolete
fixed: grammar error
fixed: infinite loop of dependencies

`Bash` packages requires `coreutils` as latter requires former one.
improved: added "--ignore-errors" option