Run a custom prepare script included in the app

I quickly hacked this together in order to help me get past #3 quickly. I suspect you probably have something more elegant in mind @mietek, but I thought I'd share it anyway.

It sources a custom prepare script included with the app under `deploy/prepare.sh`. I'm using this to add additional sources to the sandbox. E.g. to get around the issue with `persistent-mysql` depending on `libpcre`:

```
function custom_prepare () {
  expect_vars HALCYON_DIR

  local sandbox_dir
  expect_args sandbox_dir -- "$@"

  local cwd
  cwd=`pwd`

  log 'Install custom mysql-simple (avoid installing libpcre)'
  git clone https://github.com/rehno-lindeque/mysql-simple.git -b remove-pcre
  cd ${sandbox_dir}
  cabal sandbox add-source "${cwd}/mysql-simple"
  log_end 'done'
}
```

Great, thanks. Note the `NO_EXTEND` flag just caused `compile` to fail when a perfectly matched sandbox was not prepared.  This is now the default behaviour, as I found attempting to extend an imperfectly matched sandbox during `compile` usually timed out anyway.