keep2share (upload): add basic folder support

New switches:
--folder: name of folder (no hierarchy, will be a root child)
--create: create folder if it does not exist
core.sh: Introduce storage API functions

It can be convenient for modules to save credentials (cookie entry, auth token, session id) to not relogin each time.
Hosters care about that, especially for upload. Too many logins may lead to issues..

With 5 new functions, each module can now save some data in a persistant way.

storage_set KEY STRINGVALUE
VALUE=$(storage_get KEY)
storage_reset
storage_timestamp_set
VALUE=$(storage_timestamp_diff)

File is plain text and is located:
~/.config/plowshare/storage/<module-name>.txt

Each module must be modified accordingly. This is not always possible to cache credentials.

+ bump PLOWSHARE_API_VERSION to 1
plowdown: drop --cookies switch

Module have to implement new storage API in future.
(see revision f3130ecf495d7ab926d49b73d90404a07950c8ce)
core.sh (process_options): add 'c' & 'C' types for argument parsing

c: choice list
C: choice list with empty string allowed. Long options only advised.

declare -r MAIN_OPTIONS="
    LIGHT_MODE,,light,c|on|off|auto=MODE,Set light status
    VERBOSE,v,verbose,c|0|1|2|3|4=LEVEL,Verbosity level: 0=none, 1=err, 2=notice (default), 3=dbg, 4=report
"

'V' argument type (which was made specificaly for verbose switch) is no longer necessary.
core.sh: minor refactor/cleanup

Changes:
- define global $PLOWSHARE_CONFDIR
- deal properly with $TMPDIR
keep2share (upload): first attempt to use storage API
keep2share (download): handle captcha and forced delay

Also:
- get canonical URL explicitly
- fortify code ('readonly')
- enable resuming of downloads
tempsend (upload): https upload seems down, add an informative log_error message
tempsend: add anonymous download

No big deal here!
plowdown, plowprobe: fix, incorrectly identified binary file

Credits go to Matthew Stanfield.
Fixes issue 1170.
plowdown, plowup: add --cache switch

revision f3130ecf495d7ab926d49b73d90404a07950c8ce
introduced module storage space.

There are three possible values:
- none
- session (default)
- shared

See man pages for documentation.
rapidgator (login): Handle rare 'heavy usage' issues

These can be:
- Enforced wait time before the login
- A custom Rapidgator Captcha (not the usual Solvemedia one)

See also issue 1105
plowdown: add log_notice message for unused command line option(s)

Might be useful!
keep2share (upload): check for expired token
man pages: fixes (typos, spelling and a hyphen-encoding error)
uptobox (download): fix, upstream changed
modules: drop uneeded shebang line

The shebang is used if you run the script directly as an executable file.
core.sh (log_*): minor, make it smaller (faster?)
core.sh: don't read directly LIBDIR variable anymore

Make LIBDIR readonly in plow* script.
Change prototype for: get_all_modules_list() and log_report_info().
anonfiles: fix upload (new api url)

+ use official API for probe