Rewrite of the Guestbook example in Go

This is a Go version of the Guestbook example. The readme has been ported over from the existing one.

#1271
If you're using "cd" then I think ".." is slightly more appropriate than using `dirname`... Also, if this script is supposed to be executed and not sourced, I think using "$0" is slightly better than BASH_SOURCE.

The DIR variable is also not public/exported so I think lowercase might be more appropriate and you might use a more descriptive name such as `basedir` or `topdir`, etc.

```shell
basedir=$(cd "$0/.." && pwd)
```

Later when you use it, make sure you always escape it. You should also not use `sh` to call the other scripts since they clearly require `bash` and `sh` might be a different shell (e.g. sometimes in Debian they use `dash` in place of `sh` to detect scripts that require `bash` but do not do that explicitly.)

```shell
echo " ---> Cleaning up before building..."
"${basedir}/clean.sh"

echo " ---> Building..."
"${basedir}/build.sh"
```

(If you prefer to keep `/clean.sh` and `/build.sh` etc. outside the double quotes that's just fine.)