JSON encoding of instructions now uses a `tag` and `contents` field to be more JS-idiomatic.

`Data.Aeson.Generic` is no longer used.

(These changes were cherry-picked from `develop` branch.)
`ghci` and `runhaskell` helper scripts in the `samples` folder now use the sandboxed package database.