This patch includes several smaller changes, namely:
1. We don't use result of `update` function and likely never will, so
don't bother generating it.
2. Rename watch function to better reflect what it does.
3. Never exit preview server in case of failed update.
By overriding `deploySite` with a `Configuration -> IO ()` code,
the user can execute Haskell code to deploy the site rather than
shell code.
The default behaviour honors the `deployCommand` configuration
field and is backward compatible.