move read_script_argument to Cask::Artifact::Base
generalize read_script_arguments

so that it can be called from multiple stanzas
harmonize error messages
read_script_arguments accepts defaults/overrides

as parameters.  Accept overridden keys when submitted by the
caller, but warn that they are ignored.
add `install_script` artifact

name matches `uninstall :script`

References: #4688
DSL tests for `install_script` stanza
Merge pull request #4951 from rolandwalker/add_installer_stanza

DSL: add `install_script` stanza