Defer :script uninstall, add :early_script

fixes #2254

Previously (#2024), I avoided moving `:script` to the most sensible place in the order, in part to avoid breaking something.

This PR proposes to re-order `:script` where it belongs, and add uninstall key `:early_script` to preserve existing functionality exactly.  If any Cask breaks because of re-ordering `:script`, that Cask can adopt `:early_script` instead.  If no Casks adopt `:early_script` we can consider it transitional clutter and remove it later on.

`:early_script` is added to docs, but deprecated.  Code comments are added explaining the reasoning behind uninstall order.