ssh2: factory-out command factory

Reworking how username is delivered to the dCache shell means that
the CommandFactory may be instantiated by UniversalSpringCell, which
simplifies Ssh2Admin.

It also solves a potential race-condition should two users attempt to
login at the same time with different usernames.

Target: master
Requires-notes: no
Requires-book: no
Patch: http://rb.dcache.org/r/5761/
Acked-by: Gerd Behrmann
billing: Comply with new configuration policy

RELEASE NOTES:
BOOK:

NEW:

billing.cell.name
billing.enable.text=${billing.enable.text.when-disable-is-${billingDisableTxt}}
billing.enable.db=${billing.enable.db.when-toDb-is-${billingToDb}}

billing.service.poolmanager.timeout=${poolConnectTimeout}
billing.service.poolmanager.timeout.unit=MILLISECONDS

billing.text.dir=${billingLogsDir}
billing.text.flat-dir
billing.text.format.mover-info-message=${billing.format.MoverInfoMessage}
billing.text.format.remove-file-info-message=${billing.format.RemoveFileInfoMessage}
billing.text.format.door-request-info-message=${billing.format.DoorRequestInfoMessage}
billing.text.format.storage-info-message=${billing.format.StorageInfoMessage}

billing.db.config.path=${billingInfoAccessPropertiesFile}
billing.db.inserts.max-before-commit=${billingMaxInsertsBeforeCommit}
billing.db.inserts.timeout-before-commit={billingMaxTimeBeforeCommitInSecs}
billing.db.inserts.timeout-before-commit.unit=SECONDS
billing.db.driver=${billingDbDriver}
billing.db.url=${billingDbUrl}
billing.db.host=${billingDbHost}
billing.db.user=${billingDbUser}
billing.db.password=${billingDbPass}
billing.db.password.file=${billingDbPgPassFileName}
billing.db.name=${billingDbName}

billing.db.connections.max-per-partition=30
billing.db.connections.min-per-partition=3
billing.db.schema.auto=${updateBillingDb}
billing.db.schema.changelog=${billing.db.schema.changelog-when-${billing.enable.db}}

DEPRECATED:

billingLogsDir
billingDisableTxt
billingToDb

poolConnectTimeout

billing.format.MoverInfoMessage
billing.format.RemoveFileInfoMessage
billing.format.DoorRequestInfoMessage
billing.format.StorageInfoMessage

updateBillingDb
billingInfoAccessPropertiesFile
billingMaxInsertsBeforeCommit
billingMaxTimeBeforeCommitInSecs
billingDbDriver
billingDbUrl
billingDbHost
billingDbUser
billingDbPass
billingDbPgPassFileName
billingDbName

OBSOLETE:

billingInfoAccess
billingChangelog

TO BE REMOVED (to httpd.properties):

generatePlots
billingPlotsExportType
webadmin.billing-plot.refresh-threshold
webadmin.billing-plot.height
webadmin.billing-plot.width
webadmin.billing-plot.default-style
webadmin.billing-plot.default-scale

Testing done:

For the camel-case conversion, deployed and issued gridftp write, checked that billing text message was logged properly.

Target: master
Patch: http://rb.dcache.org/r/5750/
Require-notes: yes
Require-book: yes
Acked-by: Gerd
Merge branch 'master' of github.com:dCache/dcache