fixed: incorrect behaviour when setup.bz2 is corrupted

Sometimes setup.bz2 is got corrupted, so we can get setup.ini
uncompressed (as Cygwin installer does).
refactoring: avoid using `sed` for mirror encode/decode

Replacing %3a, %2f to ":", "/" and vice versa can be done with Bash
strings.
refactoring: move every command to an appropiate function
improve: add `makemirror` option

Sometimes we'd like to make a local mirror and that mirror must contain
packages we need only (but not an official mirror content).
It is supposed we've already cached that packages and we can run
`genini`
(https://cygwin.com/cgi-bin/cvsweb.cgi/genini/?cvsroot=cygwin-apps)
script to generate new setup.ini file. So, we need `setup.hint` files
for an every package.
Let's automate getting that files for us from a mirror.