Enables using variables and functions as arguments

This change an extra level on indirection for two cases:

+ when an association or an alist is required, it is possible to pass a
variable containing an association or an alist
+ when a sexp to be evaluated is required, it is possible to pass a
function instead

This pull request addresses issue #50.