provide subroutine documentation to satisfy t/03_Pod-Coverage.t

Create an empty POD item for each subroutine. It doesn't really serve
any purpose other then making the test happy since it's empty. However
the main intention is to get 'perl Build.PL && ./Build testcover'
to provide a code coverage report as fast as possible. (Most of the
subroutines are going to be rewritten anyway.)
fix module headers and document the minimum required perl version
code cleanup & partial rewrite of 'bin/setup-storage'

The functionality is exactly the same. Some code has been relocated to
external functions while configuration variables have been pulled in.
This has been done to remove code duplication, hide uninteresting
internals and make the configuration options and their default values
more obvious.

The argument list and return values for some interface-related functions
have changed.