core.sh: enhance "online" captcha service

Detect empty credits before actually trying to solve captcha.
This commit is very useful if you use several online captcha recognition services. If you use only one, this commit has no effect.
It's quite usual that captcha service answer "no slot available". It means that when using several captcha services, busy one will be discarded.
Previously the first service was always chosen. If no online service is availalbe, "none" will be set and regular error $ERR_CAPTCHA ($?=7) will be returned (same behavior as now).

Also added real time load check for --antigate.
core.sh (uri_encore, uri_encode_strict, uri_decode): one single expression given to sed

Notes:
- add %21 (!) in uri_decode
- replace percent sign (%) first
plowup: add captchas command-line options (like plowdown)

Add --captchamethod, --captchaprogram, --9kweu, --antigate, --captchabhood and --deathbycaptch switches
Documentation will come later.

Like plowdown, $ERR_CAPTCHA is eligible for retry policy.
See revision e5648e2b37049e3466cd6ede625ccf3b3ef0bdd2
download.sh (mark_queue): cosmetics, fix vim syntax highligh

See related commit:
revision 77f41fef2b5338d332de987bfe38f420d2ba72ce
core.sh, download.sh: drop unused double quotes in case statement

According to Bash Hackers Wiki:
http://wiki.bash-hackers.org/syntax/ccmd/case

case <WORD> in
  ...
esac

The word <WORD> is expanded using tilde, parameter and variable expansion; arithmetic, command and process substitution; and quote removal. No word splitting, brace, or pathname expansion is done, which means you can leave expansions unquoted without problems.
core.sh: clarify --captchamethod

This is used by plowdown & plowup.

Changes:
- add "fb" method
- rename "prompt" => "x11"
- updated captcha_method_translate()

So internally, captcha_process() is dealing with:

Solving methods:
- none (nothing is done)
- prompt (user prompt: stdin)
- online (antigate or 9kweu or captchabrotherhood or deathbycaptcha)

Viewing methods:
- log (echo temporary image path with log_notice)
- imgur
- view-x (display or feh or sxiv or qiv)
- view-fb (fim)
- view-aa (img2txt, tiv, aview)

On user point of view:

"--captchamethod" methods:
- none (= none + log)
- imgur (= prompt + imgur)
- x11 (= prompt + view-x)
- nox (= prompt + view-aa)
- online (= online + log)
- fb (= prompt + view-fb)
docs (man pages): add captchas options for plowup.1

Changes:
- typo fix
- update --captchamethod

Related commits:
revision 90160fb8ac2485ed01899a1dd449608a6a22dfc4
revision 47c0c330e81c72d5cb765c46a23f39c5ae1435b9
core.sh (list_submit): add an optional 4th argument (link suffix)
docs (plowup.1): slightly touch $ERR_LINK_TEMP_UNAVAILABLE code description
core.sh: rewrite parse_attr() to avoid pipe "|head -n1"

Function is now standalone and is based on parse_all_attr.

SIGPIPE has been reported on some embedded devices.

See related issue 798:
| I managed to fix this problem.
| After some debugging I found that error occures at line 96 in putlocker.sh
|
| >> REL_PATH=$(parse_attr 'Download File' 'href' <<< "$PAGE") || return
|
| after removing "|| return" it works properly, but I dont't know why ? :)