Access key-value attributes from the interface

As mentioned in https://github.com/OSU-Net/cyder/issues/163
This should be ready to go. All tests pass.
One issue with this pull request though. When first setting up the database the first migration will fail, but after running a second migration everything checks out.