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
Configure gbp
Fix branch
Add the debian directory I was given
Enable pristine-tar-commit by default
Update maintainer
Fix some lintian problems
Remove some unused rules
Add source/format
Update for ubuntu distribution
Add ubuntu snapshot build
Tweak gbp config
Fix version numbering
Update distribution