API Changes + Data Types

In this pull request I've re-merged my backend branch, which can then be deleted from main repository.
* We've moved from "struct BuxtonClient" to "BuxtonClient" (readability)
* Added a skeleton for the memory backend
* Added Buxton data types
* Changed API to suit "get_value" "set_value"
* Removed get/set_string methods
* Killed the root-user check (bit useless, we'll have a "buxton" user)
* Began skeleton of configuration loading

As I'll be doing work in my own fork, I felt these changes (now cleaned up) would be the best point at which to merge the two repositories, and then I can adapt memory backend and gdbm, along with a "sample" gdbm database by default to enable real testing with buxtonctl