tidy system_caller
fix memorization when DIFF is empty (false)
fix dependent options when passed as block
change default reference_point to HEAD (was master)

It is simple to set this to ‘master’ using the 
:branch_name option. Deploying from HEAD allows
for greater flexibility when nothing is specified.