Add support for storing role and meta data as json

This is the branch with your 'Text' changes.
I've added tests, but they actually fail with this version.  I have verified that the tests pass with the ByteString version.

Encode empty roles/meta data as NULLs in the database

Favor using Data.Text over ByteStrings for storing JSON text in the
database.

This patch requires the latest sqlite-simple version from github.
This will be released shortly on hackage.