style(mk): place option -R before mode/user in command
refactor(mk,add-host): chown/chgrp whole CONFIG_DIR
feat(mk,deploy-service): chown user to ${APP}
feat(mk,add-channel): chown ${APP}:${WEB_SERVER}, chmod u=rwx,g=rwx,o= ${CONFIG_DIR}
style(mk,check-privileges): order stdout message
fix(service,start): refactor export AUTOSSH_* variable to sudo context

fixes #51
fix(mk,deploy-key): add message when ssh-copy fail

closes #41
refactor(service): touch/chown log and pid files as 'mast'

Also test if run as 'root' or 'sudo'
chore(submodule,test): add 'shebang_unit'

git@github.com:arpinum/shebang_unit.git
refactor(service,permission): wrap test on superuser in function

fixes #52
feat(service,require_superuser): return status

related #52
fix(service) : check directories {/var/run,/var/log,/etc}/mast exists

also known as:
	fix(/var/run/mast): the directory is deleting at reboot

fixes #52
fix(service,start): touch on empty file path

* refactor to leverage inheritance mechanism, let $pidfile flow down children
function ;
* refer to $pidfile instead of $AUTOSSH_PIDFILE ;
* declare $autossh_logfile ;
  * refer to $autossh_logfile instead of $AUTOSSH_LOGFILE ;

fixes #53
docs(service,start): explain 'export ForwardPort' location
style(indent): improve readibility
fix(service,require_superuser): quote and expand array
docs(service,list_config): explain why no quote (require word-splitting)
refactor(service,run): wrap 'action switch' in function to allow tests

The 'source' command "Read and execute commands from the filename argument
in the current shell context". So we need to be able to include without
running the service.

When $TEST_MODE is false/unset we run, to include in tests set it to true:
	TEST_MODE=true
	source "$(dirname "$0")"/../mast
refactor(service,run): move require_superuser and require_directories inside

Also add function description
fix(service): wrap NO_TRANSFERT_LIMIT value in arithmetic expansion